free -m
命令查看内存使用情况,该命令会显示总内存、已用内存、空闲内存及交换分区等信息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
|显示每个进程的内存实时使用率,提供所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告,列表可以水平及垂直滚动,并且支持鼠标操作。|界面更友好,交互性更强,能更清晰地展示内存使用情况。|
使用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)|
相关问答FAQs
问题1:free
命令中available
和free
的区别是什么?
答:free
表示的是系统中尚未被分配的物理内存,而available
考虑了缓存和缓冲区的可用性,更准确地反映了系统当前可用于启动新应用程序的内存量,因为即使free
显示有大量空闲内存,但如果这些内存被缓存和缓冲区占用,可能无法直接用于新的应用程序。
问题2:如何查看某个特定进程的内存使用情况?
答:可以使用ps
命令结合--sort
选项来查看,要按内存使用量从高到低排序显示进程,可以使用ps aux --sort -rss
命令。%MEM
列显示了进程所占用的物理内存百分比,RSS
列显示了进程实际使用的物理内存大小,也可以使用top
或htop
命令,在交互界面中找到对应的进程
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/51519.html