检查Linux内存占用的 5 大命令,你知道几个?
引言:
系统内存是硬件系统中必不可少的部分,定时查看系统内存资源运行情况,可以帮助我们及时发现内存资源是否存在异常占用,确保业务的稳定运行。例如:定期查看公司的网站服务器内存使用情况,可以确保服务器的资源是否够用,或者发现服务器内存被占用异常可以及时解决,避免因内存不够导致无法访问网站或访问速度慢的问题。

因此,对于 Linux 管理员来说,在日常工作中能够熟练在 Linux 系统下检查内存的运行状况就变得尤为重要!查看内存的运行状态并非难事,但是针对不同的情况使用正确的方式查看呢?
下面是小编整理的 5 个非常实用的 Linux 内存查看命令:
1、free命令
2、 vmstat命令
3、 /proc/meminfo 命令
4、 top命令
5、 htop 命令
free命令
命令格式: free –m
用途:用于检查有关系统RAM的使用情况(查看系统的可用和已用内存)
小试牛刀:

可用内存计算公式:
可用内存 =free +buffers +cached, 实际操作即:215 +11+57 =253MB;
vmstat 指令
命令格式:vmstat -s(参数)
用途: 用于查看系统的内存存储信息,是一个报告虚拟内存统计信息的小工具,vmstat 命令报告包括:进程、内存、分页、阻塞 IO、中断、磁盘、CPU。
小试牛刀:

从图中我们可以看出可用内存和可用交换内存条数目,即系统中的可用内存。
/proc/meminfo 指令
命令格式:cat/proc/meminfo
用途:用于从/proc文件系统中提取与内存相关的信息。这些文件包含有 系统和内核的内部信息。
小试牛刀:

从中我们可以很清晰明了的看出内存中的各种指标情况,例如 MemFree的空闲内存和SwapFree中的交换内存。
PS:你还可以使用命令 less /proc/meminfo 直接读取该文件。通过使用 less 命令,可以在长长的输出中向上和向下滚动,找到你需要的内容哦~
top 指令
命令格式:top
用途: 用于打印系统中的CPU和内存使用情况。
小试牛刀:

输出结果中,可以很清晰的看出已用和可用内存的资源情况。top 最好的地方之一就是发现可能已经失控的服务的进程 ID 号(PID)。有了这些 PID,你可以对有问题的任务进行故障排除(或 kill)。
PS:如果你想让 top 显示更友好的内存信息,使用命令 top -o %MEM,这会使 top 按进程所用内存对所有进程进行排序。
htop 指令
命令格式:htop
用途:详细分析CPU和内存使用情况。
小试牛刀:

打印内存相关信息。
PS:如果你终端没安装 htop,先通过指令来安装。
命令格式:sudo apt-get update
接着输入以下指令
命令格式:sudo apt install htop
等一切安装结束之后。请输入以下指令即可
总结:
确定内存使用情况是Linux运维工程师必要的技能,尤其是某个应用程序变得异常和占用系统内存时。当发生这种情况时,知道有多种工具可以帮助你进行故障排除十分方便的。

当然,如果我们能够对服务器的负载进行实时监控,设置相应的告警,是不是更加便捷呢?
在这里给大家推荐一款实用的运维工具 ——王教授,他便可以轻松实现上述的功能,完成云资源使用实时监控(例如:服务器CPU负载、内存占用情况、数据库慢查询等),当云资源的使用存在异常情况会立马通知我们,不需要我们坐班待守。

服务器 CPU 使用率偏高提醒