目录
前言:
1、查看系统内存的占用情况
2、找出占用内存高的进程
3、解决方法
4、补充:如果物理内存使用完了,会发生的情况
前言:
如果一台服务器内存使用率持续处于一个高峰值,服务器可能会出现响应慢问题。例如ssh操作卡顿,用户访问失败、连接超时等问题。因此,第一时间进行排查故障是至关重要的。下面是排查思路。
1、查看系统内存的占用情况
free -m 命令进行查看
2、找出占用内存高的进程
使用top命令查看,或者是使用htop命令更加直观。
3、解决方法
情景 | 解决思路 |
应用程序访问小或者没有,但是依然占用过高的内存 | 需要去检查代码。主要是检查有没有代码是调用内存,但是没有释放。 |
应用程序访问量正常,是一个正常访问内的内存大小使用 | 需要增加硬件配置。 |
4、补充:如果物理内存使用完了,会发生的情况
情景 | 系统会发生的情况 |
系统关闭swap分区,但是物理内存使用完了 | 系统触发oom,会杀掉在运行的一个或者多个进程,来释放内存。这样会带来一些不好的影响。可在系统日志中找到一些oom触发的信息,日志会有记录。 |
系统启用了swap分区。然后物理内存使用满了 | 系统物理内存不足时,系统会把物理内存中一些不经常的程序存放到swap分区,当这些不经常使用的程序再次使用时,会从swap分区恢复到内存中使用。swap本身借助了硬盘来实现的,相对于内存的性能,要差很多,一旦系统将物理内存中数据交换到swap分区中使用,将会导致系统性能的下降。 |
建议:关闭swap分区提高系统性能。