Momory

points

  • 内存超载

  • 使用swap,整个OS性能下降

  • 缓存过多,进程结束后不释放内存

  • 缓存(cached)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除

  • 缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期 清空缓冲内容(即写入磁盘),也可以通过sync命令手动清空缓冲。举个例子吧:我这里有一个ext2的U盘,我往里面cp一个3M的MP3,但U盘的灯 没有跳动,过了一会儿(或者手动输入sync)U盘的灯就跳动起来了。卸载设备时会清空缓冲,所以有些时候卸载一个设备时要等上几秒钟

  • 修改/etc/sysctl.conf中的vm.swappiness右边的数字可以在下次开机时调节swap使用策略。该数字范围是0~100,数字越大越倾向于使用swap。默认为60,可以改一下试试。–两者都是RAM中的数据

  • buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的

Troubleshooting steps

#overall check usage memory
free -mh
#overall check usage
sar -r 2 2
#check swap   Report swap space utilization statistics
sar -S 2  2
# Report swapping statistics
sar -W 2 2
#check memory info
cat /proc/meminfo
# clean swap 
sync
echo 3 > /proc/sys/vm/drop_caches
#check swap use thread value
sysctl -q vm.swappiness
# swap off/on
swapoff
swapon

free

free -mh

Sar

sar -r 2

sar -S 2 # check swap

sar -W 2 2

pswpout/s Total number of swap pages the system brought out per second.

pswpin/s Total number of swap pages the system brought in per second.

VMstat

Check system swap usage thread value

sysctl -q vm.swappiness

清理缓存

Reference :

Last updated

Was this helpful?