返回
你想知道 Linux 内存使用量是否耗尽?那就用好这 5 个命令!
后端
2024-02-05 06:13:22
在 Linux 操作系统中,内存是一个关键资源,用于存储正在运行的程序和操作系统本身的数据。如果系统的内存使用量过高,可能会导致性能下降、应用程序崩溃或者系统崩溃。因此,了解如何检查 Linux 内存使用量非常重要。
检查 Linux 内存使用量的方法有很多,这里介绍 5 个常用的命令:
1. free 命令
free 命令是最常用的查看内存使用量的命令之一。它可以显示出系统的总内存、已用内存、空闲内存和内存缓冲区的大小。
# free -m
total used free shared buffers cached
Mem: 3969 3256 713 0 26 429
-/+ buffers/cache: 2799 1170
Swap: 3952 15 3937
在这个例子中,系统的总内存为 3969 MB,已用内存为 3256 MB,空闲内存为 713 MB,内存缓冲区大小为 26 MB,缓存大小为 429 MB。
2. top 命令
top 命令可以实时显示系统的进程列表,以及每个进程的内存使用量。
# top -o %MEM
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12345 username 20 0 100340 50724 20200 S 0.0 13.8 0:00.97 chrome
23456 username 20 0 52612 13944 4144 R 0.0 3.8 0:00.32 firefox
34567 username 20 0 33680 6892 1588 S 0.0 1.9 0:00.09 thunderbird
在这个例子中,chrome 进程使用了最多的内存,为 13.8%。
3. vmstat 命令
vmstat 命令可以显示系统的内存统计信息,包括内存使用量、内存交换量和内存分页量。
# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 117800 13528 251828 0 0 0 0 43 140 0 0 100 0
0 0 0 117676 13528 251832 0 0 0 0 44 140 0 0 100 0
0 0 0 117652 13528 251832 0 0 0 0 44 140 0 0 100 0
0 0 0 117628 13528 251832 0 0 0 0 44 140 0 0 100 0
0 0 0 117604 13528 251832 0 0 0 0 44 140 0 0 100 0
在这个例子中,free 列显示了系统的空闲内存大小,为 117604 KB。
4. ps 命令
ps 命令可以显示系统的进程列表,以及每个进程的内存使用量。
# ps -eo pid,user,rss,vsz,cmd
PID USER RSS VSZ COMMAND
12345 username 20480 51200 chrome
23456 username 8192 16384 firefox
34567 username 4096 8192 thunderbird
在这个例子中,chrome 进程使用了最多的内存,为 20480 KB。
5. meminfo 命令
meminfo 命令可以显示系统的内存信息,包括内存总量、内存使用量、内存空闲量、内存交换量等。
# cat /proc/meminfo
MemTotal: 4096 kB
MemFree: 2048 kB
Buffers: 512 kB
Cached: 1024 kB
SwapCached: 0 kB
Active: 2048 kB
Inactive: 1024 kB
Active(anon): 1024 kB
Inactive(anon): 512 kB
SwapTotal: 4096 kB
SwapFree: 3072 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 2048 kB
Mapped: 1024 kB
Shmem: 512 kB
Slab: 256 kB
SReclaimable: 128 kB
SUnreclaim: 128 kB
KernelStack: 1024 kB
PageTables: 256 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 8192 kB
Committed_AS: 4096 kB
VmallocTotal: 16384 kB
VmallocUsed: 8192 kB
VmallocChunk: 4096 kB
在这个例子中,MemTotal 列显示了系统的内存总量,为 4096 KB。
希望这些命令能够帮助您了解 Linux 内存使用情况。