linux如何看内存

Linux中,可通过命令查看内存情况,常用命令有freetophtopvmstat等,也可查看/proc/meminfo文件获取详细信息

Linux系统中,有多种方法可以查看内存的使用情况,以下是几种常用的方法:

linux如何看内存

使用free命令

free命令是一个快速查看系统内存使用情况的工具,它提供了总内存、已用内存、空闲内存、缓存和交换分区等信息,默认情况下,free命令的输出单位是KB,但可以通过选项更改为MB或GB等。

基本用法

free

常用选项

  • -m:以MB为单位显示内存使用情况。
  • -g:以GB为单位显示内存使用情况。
  • -h:自动选择合适的单位(如M、G)进行显示。
  • -t:显示总的内存和交换分区信息。
  • -s <间隔秒数>:设置更新间隔时间,持续监控内存使用情况。
  • -c <次数>:设置更新的次数,达到次数后停止监控。

示例

free -m

输出示例:

              total        used        free      shared  buff/cache   available
Mem:           7741        5623         1560        12374        56649        44423
Swap:          7935         528        73767

在这个示例中,total表示总内存大小,used表示已用内存,free表示空闲内存,shared表示多个进程共享的内存,buff/cache表示缓冲区和缓存的内存,available表示可用于启动新应用程序的内存大小。

查看/proc/meminfo文件

/proc/meminfo是一个虚拟文件,它包含了系统内存的详细信息,这个文件的内容由内核动态更新,提供了关于内存使用情况的详细报告。

基本用法

linux如何看内存

cat /proc/meminfo
MemTotal:        65966848 kB
MemFree:          889116 kB
MemAvailable:   45478012 kB
Buffers:            1040 kB
Cached:         56090320 kB
SwapCached:       251808 kB
Active:         43912548 kB
Inactive:       17060336 kB
...

在这个文件中,MemTotal表示总内存大小,MemFree表示完全空闲的内存,MemAvailable表示可用于启动新应用程序的内存大小,Buffers表示用于缓冲区的内存,Cached表示用于缓存的内存,SwapCached表示用于交换分区的缓存内存,ActiveInactive分别表示活动和非活动的内存。

使用top命令

top命令是一个实时监控系统进程状态的工具,它可以显示每个进程的CPU和内存使用情况,通过top命令,可以查看系统的总内存、已用内存、空闲内存以及各个进程的内存使用情况。

基本用法

top
top 10:00:00 up  1:00,  2 users,  load average: 0.00, 0.00, 0.00
Tasks:  73 total,   1 running,  72 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem :  65966848 total,   898236 free,  7060244 used, 58008368 buff/cache
KiB Swap: 33030140 total, 30908668 free,  2121472 used. 45487072 avail Mem
...

top命令的输出中,KiB Mem行显示了系统的总内存、已用内存、空闲内存和缓冲区/缓存的内存。KiB Swap行显示了交换分区的总大小、已用大小和空闲大小。top命令还会列出各个进程的内存使用情况,包括进程ID、用户、优先级、虚拟内存大小、常驻内存大小、共享内存大小等。

使用htop命令

htop命令是top命令的一个增强版,它提供了更友好的用户界面和更多的功能,与top命令相比,htop命令支持鼠标操作、垂直和水平滚动、进程排序和过滤等。

安装htop

sudo apt install htop

基本用法

htop

htop命令的输出与top命令类似,但它提供了更多的可视化元素和交互功能,顶部区域显示了系统的总内存、已用内存、空闲内存和交换分区的使用情况,下面的列表区域显示了各个进程的详细信息,包括进程ID、用户、CPU使用率、内存使用率等,用户可以通过上下箭头键选择进程,通过F9键杀死进程,通过F5键切换排序方式等。

linux如何看内存

使用vmstat命令

vmstat命令是一个报告虚拟内存统计信息的工具,它可以显示系统的内存、交换分区、IO、CPU等的使用情况。vmstat命令的输出包括进程、内存、分页、块IO、捕获和CPU活动等信息。

基本用法

vmstat
procs -----------memory------------swap------io----system-------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0  898236  1040 56090320    0    0     0     0   1   1  0  0 99 0  0

vmstat命令的输出中,procs行显示了等待运行的进程数和不可中断睡眠的进程数。memory行显示了使用的虚拟内存大小、空闲内存大小、缓冲区大小和缓存大小。swap行显示了从磁盘换入的内存和交换到磁盘的内存。io行显示了从块设备接收到的块和发送到块设备的块。system行显示了每秒中断次数和上下文切换次数。cpu行显示了CPU的使用情况,包括用户时间、系统时间、空闲时间、等待IO时间和从虚拟机窃取的时间。

归纳对比表格

命令 功能描述 适用场景
free 显示系统内存状态,包括物理内存、虚拟内存、共享内存和系统缓存的使用情况 总内存、已用内存、空闲内存、共享内存、缓冲区、缓存、可用内存等 快速查看内存概况
/proc/meminfo 提供系统内存的详细信息,包括总内存、空闲内存、活动/非活动内存等 MemTotal、MemFree、MemAvailable、Buffers、Cached、SwapTotal等 需要详细了解内存构成时
top 实时监控系统进程状态,包括CPU和内存使用情况 系统总内存、已用内存、空闲内存、缓冲区/缓存,以及各进程的内存使用情况 实时监控进程内存使用
htop top命令的增强版,提供更友好的用户界面和更多功能 类似top,但增加了可视化元素和交互功能 需要更直观地监控和管理系统进程时
vmstat 报告虚拟内存统计信息,包括内存、交换分区、IO、CPU等的使用情况 进程数、内存使用、交换分区、IO块、系统中断、CPU使用等 需要全面了解系统资源使用情况时

相关问答FAQs

如何查看Linux系统的总内存大小?

答:可以使用free -m命令,输出列表中的total项值即为查询的总内存数,单位是MB,或者执行cat /proc/meminfo命令,输出列表中的MemTotal项值也是查询的总内存大小,单位是kB。

free命令中的available字段是什么意思?

答:available字段表示可用于启动新应用程序且无需交换的内存大小,它考虑了缓冲区和缓存的内存,因此比单纯的free字段更准确地反映了系统当前可用的内存资源

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/69716.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月20日 18:58
下一篇 2025年7月20日 19:02

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN