Java地带 - Swap
type: channel
link: https://blog.apires.cn/tag/Swap/
items: Linux交换空间Swap的使用率查看修改
items: Linux交换分区Swap大小规则
items: Linux增加Swap分区大小

Linux交换空间Swap的使用率查看修改
type: item
date: 2017-12-29T14:51:00+08:00
description: 简单地说这个参数定义了系统对swap的使用倾向，默认值为60，值越大表示越倾向于使用swap。可以设为0，这样做并不会禁止对swap的使用，只是最大限度地降低了使用swap的可能性。通过sysctl -q vm.swappiness可以查看参数的当前设置。修改参数的方法是修改vi /etc/sysctl.conf文件，加入vm.swappiness=xxx，并重起系统。这个操作相当于是修改虚拟系统中的/proc/sys/vm/swappiness文件，将值改为XXX数值。如果不想重起，可以通过sysctl -p动态加载/etc/sysctl.conf文件，但建议这样做之前先清空swap。建议设置：vm.swappiness = 10swap清理代码代码如下:swapoff -a && swapon -a注意：这样清理有个前提条件，空闲的内存必须比已经使用的swap空间大内存使用到多少开始使用swap？vm.swappiness 这个内核参数控制/proc/sys/vm/swappiness这个交换参数控制内核从物理内存移出进程，移到交换空间。该参数从0到100，当该参数=0，表示只要有可能就尽力避免交换进程移出物理内存;该参数=100，这告诉内核疯狂的将数据移出物理内存移到swap缓存中。PS:设置vm.swappiness=0 后并不代表禁用swap分区，只是告诉内核，能少用到swap分区就尽量少用到，设置vm.swappiness=100的话，则表示尽量使用swap分区，默认的值是60调整内存参数，当内存使用率不足10%（开始是默认值60）时在使用swap，尽量避免使用swap，减少唤醒软中断进程，从而降低ksoftirqd进程对cpu的占用。关于Linux内存分配机制在Linux的内存分配机制中，优先使用物理内存，当物理内存还有空闲时（还够用），不会释放其占用内存，就算占用内存的程序已经被关闭了，该程序所占用的内存用来做缓存使用，对于开启过的程序、或是读取刚存取过得数据会比较快。

Linux交换分区Swap大小规则
type: item
date: 2012-11-22T17:04:00+08:00
description: Linux 中设置合适的交换分区大小的规则：物理内存交换分区（SWAP）<= 4G至少4G4~16G至少8G16G~64G至少16G64G~256G至少32G

Linux增加Swap分区大小
type: item
date: 2012-11-01T17:13:00+08:00
description: 一、新增swap分区查看当前分区情况free -m增加 swap 大小, 2G左右dd if=/dev/zero of=/var/swap bs=1024 count=2048000设置交换文件mkswap /var/swap && chmod 600 /var/swap立即激活启用交换分区swapon /var/swap添加系统引导时自启动运行vi /etc/fstab添加一行/var/swap swap swap defaults 0 0二、回收swap空间收回 swap 空间swapoff /var/swap从文件系统中回收rm /var/swap