如何检查Linux上的内存使用情况
检查Linux上的内存使用情况命令
对于教程,我们将使用Ubuntu 19.10.
如果我们使用的是不同的版本或者另一个发行版,则教程仍然应该工作,因为这些不是发行的依赖,除了SMEM和HTOP工具,其安装是发行的依赖。
1.top
top是检查系统上内存使用情况的简单方法。
它也是最常用的命令之一,因为它提供了运行过程的交互式,动态和实时展示。
启动终端并使用命令:
top
如我们所知,它是有关每个过程的充分信息,包括其PID,User,Res,命令,Time +等。
如果只想仅显示十个进程,请使用以下命令。
top -b | head - 10
2.free
free是检查内存消耗的另一种有用和流行的方式。
它为我们提供了机器上内存的鹰眼视图。
它显示使用和免费交换和物理内存。
此外,它还指示内核的高速缓存和缓冲区。
Free命令从"/proc/meminfo"文件中提取信息。
要运行命令,请执行:
free - m
使用免费显示系统的内存
正如我们所能,它有多个列,包括总计,使用,免费,共享,buck /缓存和可用。
这些列填充了对应于MEM和交换的信息。
3./proc/meminfo文件
如果我们想要有关系统内存消耗和利用率的更多信息,则可以查看/proc/meminfo文件,其中包含各种实时内存使用信息。
它也是一个虚拟文件。
要检查其内容并了解内存使用情况,我们需要使用以下命令。
cat /proc/meminfo
使用/proc/meminfo文件学习系统内存
4. VMSTAT.
如果要了解虚拟内存,则需要使用vmstat命令。
它广泛用于报告虚拟内存统计信息。
通过使用该命令,我们可以了解内存,进程,块IO,分页,CPU和磁盘。
它的命令如下。
vmstat
输出的六个重要部分包括以下,Procs,Memory,Swap,IO,System和CPU。
这意味着它提供了有关机器六个方面的信息。
在proc中,它列出了两个参数:
- R:它显示了可追加的进程数,包括等待或者运行运行时间
- B:它显示了在不间断设置中的进程
在内存的情况下,它列出了以下参数:
- SWPD:使用虚拟内存
- free:空闲内存
- buff:用作缓冲区的内存
- cache:用作缓存的内存
- inact:非活动内存
- active:活动内存
如果我们查看交换,我们将找到两个参数:
- SI:从磁盘交换的内存
- SO:内存交换到磁盘
接下来,我们有IO。
- BI:来自块设备(接收)的块
- BO:阻止设备(已发送)的块
第二部分是以下内容:
- IN:中断总数
- CS:上下文交换机总数/秒
最后,CPU列出以下内容:
- US:花费非核心核心时间
- SY:内核代码时间花了
- ID:空闲时间花了
- WA:在等待IO的时间
- ST:从虚拟机使用的时间
5. Smem.
SMEM命令对于在Linux系统上生成众多报告非常有用。
它不会预先安装我们正在使用的Ubuntu Distro版本。
要安装它,我们需要使用以下内容:
sudo apt-get install smem
那么,究竟是什么SMEM提供?
它是一个提供基于内存的报告的工具。
有了它,我们可以生成唯一的集合大小(USS),居民集大小(RSS)和比例集大小(RSS)报告。
每份报告都有其价值并提供独特的东西。
让我们在下面讨论它们。
- USS:列出所有未共享的内存
- RSS:列出标准物理内存测量
- PSS:列出虚拟内存系统中的应用程序和库使用的内存。
注意:如果安装了Python 2.x版本,则只使用它。
如果使用Python 3.x版本或者更高版本,它应该抛出错误。
6. HTOP.
我们要讨论的最后一个是HTOP。
与其他命令不同,它提供了流程的交互式视图。
它是类似于顶部,但提供更好的视图和控制信息。
例如,它允许我们水平滚动地滚动。
要安装它,我们需要使用以下命令:
sudo apt install htop
安装后,我们需要在命令提示符中执行htop以运行它。