开发者

Linux服务器如何查看内存使用情况

目录
  • 前言
  • free命令
  • 物理内存和Swap交换区
  • 枪打出头鸟
  • top命令排查内存
  • 总结

前言

在日常开发或者生产环境,我们经常需要查看linux服务的内存使用情况,所以熟练敲出命令能便于我们快速定位问题,这里来和大家一起学习linux的常用查看内存命令。

free命令

free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

Linux服务器如何查看内存使用情况

很清晰明白的显示出了总内存多少,已使用多少,还剩下多少。这里可以看到Swap的used已使用了811Mb,服务器上跑了一个多线程下载音频的进程,物理内存已经不够用了,所以从磁盘中虚拟出一部分的内存。

当然我们可以使用free -g、free-h来查看,只不过展示的内存单位不一样,free -h会以便于阅读的单位形式展示内存大小。

Linux服务器如何查看内存使用情况

物理内存和Swap交换区

  1. 当物理内存快被耗尽时,系统并没有崩溃,而是拿swap做临时内存,当两者都耗尽,系统OutofMemory
  2. 物理内存到达峰值,系统中可能一些不常用的进程内存占用被踢到swap区
  3. 当Mem区的资源进行释放时GmIIZL,被挪到swap的内存并不会全部回来的,随着系统或者程序的唤醒才会慢慢回到mem区
  4. Swap是内存不够时磁盘虚拟出来的内存,磁盘android主要是I/O级别的操作并不是系统内核级别的操作,处理速度跟Mem区不是一个等级

枪打出头鸟

生产环境服务器上一般都会部署很多个服务,当收到内存不足告警的时候,我们首先想到的就是看看哪个进程占用内存最多,我们可以执行如下命令,这个命令可查看各个进程内存的使用情况。

ps -eo pmem,pcpu,RSS,args |android sort -k 1 -r | less

如下图所示,第一列为进程占用的内存百分比,可以看到哪些应用程序占的内存比较多,用于排查问题: 

Linux服务器如何查看内存使用情况

top命令排查内存

tojavascriptp 命令查看系统的实时负载, 包括进程、CPU负载、内存使用等等;直接输入top命令

Linux服务器如何查看内存使用情况

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(phpwww.devze.com)。

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新运维

运维排行榜