Linux系统如何查看内存使用情况

1. Linux系统如何查看内存使用情况

在Linux系统中,我们可以使用命令行工具来查看系统的内存使用情况。下面将介绍一些常用的命令。

1.1 free命令

free命令可以用来查看系统内存的使用情况,包括总内存、已使用内存、空闲内存以及缓存和缓冲区的使用情况。

free -h

执行上述命令,系统会以人类可读的方式显示内存的使用情况。例如:

              total        used        free      shared  buff/cache   available

Mem: 7.8G 4.9G 759M 293M 2.2G 2.0G

Swap: 2.0G 250M 1.7G

在这个例子中,总内存为7.8G,已使用4.9G,剩余空闲759M,缓存和缓冲区使用2.2G。

1.2 top命令

top命令是一个动态的系统监视工具,可以实时查看系统资源的使用情况,包括内存、CPU、进程等。

top

执行上述命令,系统会以交互式的方式显示内存的使用情况,并更新。

top - 15:19:05 up 100 days, 12:51,  2 users,  load average: 0.05, 0.08, 0.07

Tasks: 240 total, 2 running, 238 sleeping, 0 stopped, 0 zombie

%Cpu(s): 0.2 us, 0.1 sy, 0.0 ni, 98.9 id, 0.8 wa, 0.0 hi, 0.0 si, 0.0 st

MiB Mem : 8006.6 total, 1357.2 free, 5493.2 used, 1156.1 buff/cache

MiB Swap: 2048.0 total, 1865.4 free, 182.6 used. 2139.8 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

2450 root 20 0 199328 5032 3136 S 0.0 0.1 0:00.07 dbus-daemon

2451 syslog 20 0 192324 1248 552 S 0.0 0.0 0:00.41 rsyslogd

2454 root 20 0 82176 1452 1068 S 0.0 0.0 0:00.00 cron

2590 root 20 0 297496 9204 7628 S 0.0 0.1 0:00.11 sshd

2677 root 20 0 680764 13376 2776 S 0.0 0.2 0:00.05 systemd-jou+

2679 root 20 0 9608 928 764 S 0.0 0.0 0:00.10 systemd-jou+

在这个例子中,可以看到系统的总内存为8006.6MiB,剩余空闲1357.2MiB。

1.3 /proc/meminfo文件

/proc/meminfo文件包含了有关系统内存的详细信息,可以通过读取该文件来获取内存的使用情况。

cat /proc/meminfo

执行上述命令,可以查看到系统内存的详细信息,包括总内存、空闲内存、缓存和缓冲区等。

MemTotal:        8055748 kB

MemFree: 7896564 kB

MemAvailable: 7897264 kB

Buffers: 115684 kB

Cached: 122996 kB

SwapCached: 13220 kB

Active: 215988 kB

Inactive: 66392 kB

Active(anon): 133776 kB

Inactive(anon): 144564 kB

Active(file): 82112 kB

Inactive(file): 69504 kB

Unevictable: 8512 kB

Mlocked: 8512 kB

SwapTotal: 2097148 kB

SwapFree: 1866784 kB

Dirty: 16 kB

Writeback: 0 kB

AnonPages: 270760 kB

Mapped: 74660 kB

SReclaimable: 426248 kB

SUnreclaim: 78140 kB

PageTables: 9368 kB

NFS_Unstable: 0 kB

Bounce: 176 kB

WritebackTmp: 0 kB

CommitLimit: 6125020 kB

Committed_AS: 2672932 kB

VmallocTotal: 34359738367 kB

VmallocUsed: 0 kB

VmallocChunk: 0 kB

HardwareCorrupted: 0 kB

AnonHugePages: 0 kB

ShmemHugePages: 0 kB

ShmemPmdMapped: 0 kB

FileHugePages: 0 kB

FilePmdMapped: 0 kB

CmaTotal: 0 kB

CmaFree: 0 kB

HugePages_Total: 0

HugePages_Free: 0

HugePages_Rsvd: 0

HugePages_Surp: 0

Hugepagesize: 2048 kB

Hugetlb: 0 kB

DirectMap4k: 3143376 kB

DirectMap2M: 5038080 kB

DirectMap1G: 0 kB

在这个例子中,可以看到系统的总内存为8055748kB,剩余空闲7896564kB。

1.4 vmstat命令

vmstat命令用于实时监视系统的虚拟内存、进程、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

1 0 19144 144396 11220 16520 0 0 16 0 4 4 2 0 98 0 0

在这个例子中,可以看到系统的空闲内存为144396KB,缓冲区为11220KB。

2. 结论

通过上述几个命令,我们可以方便地查看Linux系统的内存使用情况。使用free命令可以得到简洁的总结信息,top命令可以实时监视系统内存的使用情况,/proc/meminfo文件可以获取详细的内存信息,vmstat命令可以获取系统的内存分页统计信息。根据不同的需求,选择合适的命令来查看内存使用情况,有助于我们更好地了解系统的状态,及时做出调整和优化。

操作系统标签