• 阿里云服务器创建swap分区


    阿里云服务器使用了4核8G内存配置,但最近由于jenkins构建时执行gradle打包安卓应用,导致即时的内存严重不足,线上应用长时间无法访问。

    执行free命令才发现,swap分区一直是没有创建的。两台ubuntu都是这样。阿里云服务默认没有预创建交换分区!

    1.使用系统盘创建块文件

    admin@ubuntu:~# dd if=/dev/zero of=/mnt/swap bs=1M count=4096
    4096+0 records in
    4096+0 records out
    4294967296 bytes (4.3 GB) copied, 69.7764 s, 61.6 MB/s

    2.使用快文件创建分区

    admin@ubuntu:~# mkswap /mnt/swap 
    Setting up swapspace version 1, size = 4194300 KiB
    no label, UUID=e7b06ac4-79c4-4d01-a5b3-6bda61866939

    3.启用swap分区

    admin@ubuntu:~# swapon /mnt/swap

    4.查看内存状态

    admin@ubuntu:~# free -h
                 total       used       free     shared    buffers     cached
    Mem:          7.8G       7.7G       131M        22M       3.9M       1.8G
    -/+ buffers/cache:       5.8G       2.0G
    Swap:         4.0G         0B       4.0G

    5.设置开机自动挂载

    admin@ubuntu:~# vim /etc/fstab

    6.配置swap使用策略

    # echo "vm.swappiness = 50"> /etc/sysctl.conf
    # sysctl -p

     对于swap争议

    使用swap分区可以避免内存严重不足时的进程僵死现象;只要内存足够,就不会使用swap频繁读写。

    一些进程是按需加载进物理内存的,比如jenkins构建,在构建进程停止后,jenkins服务占用的内存数据会被写入交换分区。下次构建时再移入物理内存。

  • 相关阅读:
    Hbase王国游记之:Hbase客户端API初体验
    Hbase给初学者的“下马威”
    五分钟轻松了解Hbase面向列的存储
    JsonBuilder初出茅庐
    如何查看laravel门脸类包含方法的源码
    PHP常用数组函数
    Go语言strings包
    PHP获取远程http或ftp文件的md5值
    Git使用详细教程(9):git log
    PHP Iterator迭代对象属性
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/8678424.html
Copyright © 2020-2023  润新知