Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux服务器查看内存使用

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

作者:爱琴孩

这篇文章主要介绍了Linux服务器如何查看内存使用情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

前言

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

free命令

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

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

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

物理内存和Swap交换区

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

枪打出头鸟

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

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

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

top命令排查内存

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文