linux如何查内存

Linux中,可以使用free -m命令查看内存使用情况,该命令会显示总内存、已用内存、空闲内存及交换分区等信息

Linux系统中,有多种方法可以查看内存的相关信息,以下是详细介绍:

linux如何查内存

使用free命令

free命令是一个快速查看内存使用情况的工具,它是对/proc/meminfo收集到的信息的一个。
|命令选项|说明|示例输出|
|—-|—-|—-|
|free|显示内存和交换空间的总量、已使用量、空闲量等信息,默认单位是KB。| total used free shared buffers cached
Mem: 32737172 4255132 25135556 0 164280 3064824
Swap: 0 0 0|
|free -h|以人类可读的格式(如MB、GB)显示内存信息。| total used free shared buffers cached
Mem: 31G 3.4G 24G 1.1G 160M 2.9G
Swap: 0B 0B 0B|
|free -m|以MB为单位显示内存信息。|略(类似free输出,只是单位变为MB)|

查看/proc/meminfo文件

/proc/meminfo是一个动态更新的虚拟文件,包含了系统内存的详细信息。
|命令|说明|示例输出(部分)|
|—-|—-|—-|
|cat /proc/meminfo|直接查看该文件内容,显示内存的各项指标,如总内存、空闲内存、缓冲区和缓存等。|MemTotal: 32737172 kB
MemFree: 25040664 kB
MemAvailable: 26554608 kB
Buffers: 164280 kB
Cached: 3064824 kB
SwapCached: 0 kB
Active: 907548 kB
Inactive: 4452772 kB
Active(anon): 3672 kB
Inactive(anon): 3528512 kB|

使用top命令

top命令提供了实时的运行中的程序的资源使用统计,包括内存使用情况。
|操作|说明|示例输出(部分)|
|—-|—-|—-|
|直接输入top|进入top命令界面,默认每3秒刷新一次数据,在顶部信息栏中,可以找到有关内存使用情况的统计信息,如总内存、已使用内存、缓存使用等,下方列表中的%MEM列显示了各个进程所占用的内存百分比。|top 15:32:45 up 1 day, 3:25, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 145 total, 1 running, 144 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 32737172 total, 4255132 used, 25135556 free, 164280 buffers
KiB Swap: 0 total, 0 used, 0 free, 0 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
…|
|按下Shift + m|按照内存使用量进行排序,显示占用内存最多的进程。|(同上,只是进程排序会发生变化)|

使用htop命令

htop命令类似于top命令,但有更多的功能和更友好的界面,可以更直观地查看当前系统的内存使用情况。
|命令|说明|特点|
|—-|—-|—-|
|htop|显示每个进程的内存实时使用率,提供所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告,列表可以水平及垂直滚动,并且支持鼠标操作。|界面更友好,交互性更强,能更清晰地展示内存使用情况。|

linux如何查内存

使用vmstat命令

vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。
|命令|说明|示例输出(部分)|
|—-|—-|—-|
|vmstat -s|显示内存的总量、已使用量、空闲量、缓冲区大小等信息。| 32737172 K total memory
4255132 K used memory
935848 K active memory
4317508 K inactive memory
25135556 K free memory
169456 K buffer memory|
|vmstat -s | grep memory|筛选出与内存相关的信息。|同上|

使用dmidecode命令

dmidecode命令可以读取系统的DMI信息,包括内存条的制造商、型号、容量等信息。
|命令|说明|示例输出(部分)|
|—-|—-|—-|
|sudo dmidecode -t memory|只显示关于内存的信息,包括安装的内存数量、型号、容量、速度等。|Memory Device
Array Handle: 0x0038
Error Information Handle: Not Provided
Total Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM_A1
Bank Locator: BANK 0
Type: DDR4
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 2400 MT/s
Manufacturer: Samsung
Serial Number: 12345678
Asset Tag: Not Specified
Part Number: M378A1K43CB2-CTD
Rank: 2
Configured Memory Speed: 2400 MT/s
…|

使用lshw命令

lshw命令可以用来获取系统硬件信息,包括内存信息。
|命令|说明|示例输出(部分)|
|—-|—-|—-|
|sudo lshw -short -C memory|显示系统中所有已安装的内存条信息,包括型号、容量、速度和物理位置等。|H/W path Device Class Description

/0 memory MEM-DEV 32GiB System Memory
/0.1 memory MEM-DEV 8GiB SODIMM DDR4 Synchronous 2400 MHz (0.4 ns)
/0.2 memory MEM-DEV 8GiB SODIMM DDR4 Synchronous 2400 MHz (0.4 ns)
/0.3 memory MEM-DEV 8GiB SODIMM DDR4 Synchronous 2400 MHz (0.4 ns)
/0.4 memory MEM-DEV 8GiB SODIMM DDR4 Synchronous 2400 MHz (0.4 ns)
…|

使用inxi命令

inxi命令可以查看系统的硬件信息,包括内存类型、容量、速度等。
|命令|说明|示例输出(部分)|
|—-|—-|—-|
|inxi -m|显示内存相关信息。|Memory: 32G DDR4 2400MHz (16GB x2)|

linux如何查内存

相关问答FAQs

问题1:free命令中availablefree的区别是什么?
答:free表示的是系统中尚未被分配的物理内存,而available考虑了缓存和缓冲区的可用性,更准确地反映了系统当前可用于启动新应用程序的内存量,因为即使free显示有大量空闲内存,但如果这些内存被缓存和缓冲区占用,可能无法直接用于新的应用程序。

问题2:如何查看某个特定进程的内存使用情况?
答:可以使用ps命令结合--sort选项来查看,要按内存使用量从高到低排序显示进程,可以使用ps aux --sort -rss命令。%MEM列显示了进程所占用的物理内存百分比,RSS列显示了进程实际使用的物理内存大小,也可以使用tophtop命令,在交互界面中找到对应的进程

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月9日 12:13
下一篇 2025年7月9日 12:19

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN