linux系统内存持续飙高的排查方法

目录

前言:

1、查看系统内存的占用情况

2、找出占用内存高的进程

3、解决方法

4、补充:如果物理内存使用完了,会发生的情况

5、补充;  虚拟内存的工作原理


前言:

       如果一台服务器内存使用率持续处于一个高峰值,服务器可能会出现响应慢问题。例如ssh操作卡顿,用户访问失败、连接超时等问题。因此,第一时间进行排查故障是至关重要的。下面是排查思路。

1、查看系统内存的占用情况

free -m 命令进行查看

2、找出占用内存高的进程

使用top命令查看,或者是使用htop命令更加直观。

htop:

或者使用top工具

• USER        进程所有者
• PID         进程的ID•
• PR          进程的优先级别,越小越优先被执行
• NI          nice值
• VIRT        进程占用的虚拟内存
• RES         进程占用的物理内存
• SHR         进程使用的共享内存
• S           进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
• %CPU        进程占用CPU的使用率
• %MEM        进程使用的物理内存和总内存的百分比
• TIME+       该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
• COMMAND     进程启动命令名称

因为界面和实时刷新的限制,则通过top命令不一定能发现占用内存高的进程,因此需要使用ps aux 命令来检索当前系统下所有的运行进程。 

示例:查看内存使用排名前10的进程

 ps aux|head -n 1; ps aux| grep -v PID |sort -nr -k6 | head -n10   

3、解决方法

情景解决思路
应用程序访问小或者没有,但是依然占用过高的内存需要去检查代码。主要是检查有没有代码是调用内存,但是没有释放。
应用程序访问量正常,是一个正常访问内的内存大小使用需要增加硬件配置。

4、补充:如果物理内存使用完了,会发生的情况

情景系统会发生的情况
系统关闭swap分区,但是物理内存使用完了系统触发oom,会杀掉在运行的一个或者多个进程,来释放内存。这样会带来一些不好的影响。可在系统日志中找到一些oom触发的信息,日志会有记录。
系统启用了swap分区。然后物理内存使用满了

当系统的物理内存不足时,系统会将一些不经常使用的程序或数据存储到swap分区中,以释放物理内存供更重要的程序使用。当这些不经常使用的程序再次需要时,系统会将其从swap分区恢复到内存中使用。

由于swap分区是基于硬盘的虚拟内存,与物理内存相比,访问速度较慢。因此,当系统频繁将数据交换到swap分区时,会导致系统性能下降,因为硬盘的读写速度远远低于内存的访问速度。

建议:关闭swap分区提高系统性能。

查看分区的命令:swapon --show

临时关闭分区的命令:swapoff 交换分区设备名

永久关闭分区的命令: 编辑/etc/fstab文件,重启生效

5、补充;  虚拟内存的工作原理


交换分区(swap partition)是一种虚拟内存技术。虚拟内存是操作系统提供的一种抽象,它使得应用程序可以访问比实际物理内存更多的内存。虚拟内存通过将物理内存和磁盘空间合并,提供了一个连续的内存空间给进程使用。

虚拟内存工作原理:

a、当程序请求内存时,操作系统会检查虚拟内存空间是否满足需求。

b、如果需求超出物理内存,操作系统会从当前运行的进程中选择一个,将其暂时移动到磁盘上的交换空间(swap space)。

c、然后,操作系统会把被选中的进程数据移到磁盘上,释放物理内存,并把新的程序加载到内存中。

d、当程序访问其在虚拟内存中的部分时,如果发现它不在物理内存中,操作系统会自动地将磁盘上的数据页重新加载到物理内存中。

Linux 中可以通过 free 命令查看内存使用情况和交换空间的使用情况,

通过 vmstat 命令查看虚拟内存统计信息。
 

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值