查看 Linux 内存占用的方法

1. 介绍

Linux是一种非常强大的操作系统,被广泛用于各种设备,从个人计算机到服务器。在使用Linux的过程中,了解内存占用情况是非常重要的,可以帮助我们优化系统性能、排除问题以及合理分配资源。本文将介绍几种常用的方法来查看Linux内存占用情况。

2. free命令

2.1 free命令的作用

free命令是Linux系统中用来查看内存占用情况的工具之一。它可以显示出总共可用的内存、已使用的内存、剩余的内存以及被缓存和已使用的交换空间。

2.2 使用方法

在终端中输入以下命令,即可查看系统内存的占用情况:

free -h

命令中的-h参数表示以人类可读的方式显示内存容量。

free命令的输出结果示例:

              total        used        free      shared  buff/cache   available

Mem: 7.8G 3.9G 2.0G 189M 1.8G 3.6G

Swap: 2.0G 216M 1.8G

在输出结果中,可以看到系统的总内存为7.8G,已使用的内存为3.9G,剩余的内存为2.0G。另外,输出结果中还包括了缓存和交换空间的相关信息。

3. top命令

3.1 top命令的作用

top命令是一个非常强大的命令行工具,可以实时查看系统的各项性能指标,包括CPU占用、内存占用、进程信息等。对于查看内存占用情况,top命令也是非常有用的。

3.2 使用方法

在终端中输入以下命令,即可打开top命令的界面:

top

在top命令的界面中,可以看到系统的各项性能指标以及当前运行的进程列表。在内存占用方面,可以找到以下几个关键信息:

Mem总内存:显示了系统的总内存容量。

Mem已用内存:显示了当前已使用的内存。

Mem空闲内存:显示了当前剩余的内存。

Swap已用:显示了已使用的交换空间。

Swap空闲:显示了剩余的交换空间。

除了这些基本信息外,top命令还可以按不同的排序方式显示内存占用情况。可以通过按键盘上的"m"键来按照内存占用大小进行排序。

4. ps命令

4.1 ps命令的作用

ps命令是Linux系统中用来查看进程信息的工具之一。通过ps命令,可以查看各个进程的PID、占用内存、运行状态等。

4.2 使用方法

在终端中输入以下命令,即可查看运行的进程以及它们的内存占用情况:

ps aux

命令输出结果示例:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root 1 0.0 0.1 225048 8040 ? Ss 12:25 0:02 /sbin/init

root 2 0.0 0.0 0 0 ? S 12:25 0:00 [kthreadd]

root 3 0.0 0.0 0 0 ? S 12:25 0:00 [kworker/0:0]

在输出结果中,可以看到每个进程的PID、占用CPU的百分比、占用内存的百分比以及其他相关信息。

5. pmap命令

5.1 pmap命令的作用

pmap命令是一个用来显示进程内存映射情况的工具。通过pmap命令,可以查看某个进程的内存分配情况,包括堆、栈、共享库等。

5.2 使用方法

在终端中输入以下命令,即可查看某个进程的内存映射情况:

pmap PID

其中,PID代表要查看的进程的PID。

命令输出结果示例:

Address           Kbytes     RSS   Dirty Mode   Mapping

0000000000400000 68 60 0 r-x-- app

0000000000600000 32 28 0 rw--- app

0000000000608000 24 0 0 rw--- [ anon ]

00007f98ac121000 1584 384 0 r-x-- libc.so.6

00007f98ac29a000 2044 0 0 ----- libc.so.6

00007f98ac49a000 16 12 0 r---- libc.so.6

在输出结果中,可以看到进程的内存映射地址、占用内存的大小、状态等信息。

6. 参考资料

1. Linux man page: free(1): show free, used, and total memory in the system

2. Linux man page: top(1): display Linux processes

3. Linux man page: ps(1): report a snapshot of the current processes

4. Linux man page: pmap(1): report memory map of a process

操作系统标签