故障排查——内存使用率过高

本篇将介绍服务器内存使用率过高的处理方案。
内存方面主要关注两个问题,第一:物理内存够不够用;第二:有没有内存泄露。

内存使用率

在Linux系统中,freetopvmstat等命令都会有系统内存使用率的输出:
free

产生原因

  1. 进程占用 过多
  2. 运行时间太久
  3. 被植入异常木马
  4. 内存泄漏

排查步骤

  1. 查看内存占用率top10的进程:
    ps aux| grep -v "USER" |sort -n -r -k 4 | awk '{print $11}' | head -n 10
  2. 或者使用top命令查看,top -c,然后按M。
  3. 如果进程都正常的话,可以考虑重启部分应用,如果有异常进程,考虑是否被植入木马,找到对应的进程脚本,kill掉即可。
  4. 如果cache太多,共享内存不足,可以在不重启机器的情况下释放缓存:
root@iZ2zeic9ggky8lb31din1gZ:~# sync
root@iZ2zeic9ggky8lb31din1gZ:~# echo 3> /proc/sys/vm/drop_caches

健康范围

我们在观察Linux的内存使用情况时,只要没发现用swap的交换空间,就不用担心自己的内存太少。如果常常看到swap用了很多,那么你就要考虑加物理内存了。这也是在Linux服务器上看内存是否够用的标准。

你可能感兴趣的:(Linux,监控和故障)