在 Linux 上,有多种方法可以查看系统的内存大小,包括查看总内存、已用内存、可用内存等。以下是一些常见的查看内存大小的命令:

1. 使用 free 命令

free 命令是最常用的查看内存使用情况的命令。它显示了系统内存的总量、已用内存、空闲内存以及交换空间等信息。

基本命令

free

输出示例

              total        used        free      shared  buff/cache   available
Mem:           7992        2852        2466         197        2673        4511
Swap:          2047           0        2047

  • total:总内存大小(以 KB 为单位)。
  • used:已使用的内存大小。
  • free:空闲的内存大小。
  • shared:多个进程共享的内存大小。
  • buff/cache:内核用作缓存的内存。
  • available:可用的内存大小(包括缓存区中可以回收的内存)。

显示更友好的单位(MB 或 GB)

你可以使用 -h 参数使输出结果更加易于理解(自动转换为 MB 或 GB):

free -h

输出示例

              total        used        free      shared  buff/cache   available
Mem:           7.8Gi       2.8Gi       2.4Gi       197Mi       2.6Gi       4.4Gi
Swap:          2.0Gi        0.0Gi       2.0Gi

2. 使用 top 命令

top 命令是一个动态显示系统资源使用情况的工具,其中也包括内存的使用情况。

基本命令

top

输出示例

top - 15:05:55 up 1 day,  2:10,  2 users,  load average: 0.35, 0.58, 0.71
Tasks: 188 total,   1 running, 187 sleeping,   0 stopped,   0 zombie
%Cpu(s):  6.9 us,  1.2 sy,  0.0 ni, 91.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7992.5 total,   2852.2 used,   2466.3 free,    197.9 shared,   2673.6 buff/cache
MiB Swap:   2047.9 total,      0.0 used,   2047.9 free.   4511.6 available

  • Mem 行表示物理内存的使用情况。
  • Swap 行表示交换空间的使用情况。

3. 使用 cat /proc/meminfo

/proc/meminfo 文件包含有关系统内存的详细信息。你可以通过查看该文件来获取关于内存的详细信息。

基本命令

cat /proc/meminfo

输出示例

MemTotal:       7992572 kB
MemFree:        2466564 kB
MemAvailable:   4511784 kB
Buffers:         168236 kB
Cached:          2673544 kB
SwapCached:            0 kB
Active:          1852088 kB
Inactive:        2128496 kB
...

  • MemTotal:总内存大小(以 KB 为单位)。
  • MemFree:空闲内存(以 KB 为单位)。
  • MemAvailable:可用内存。
  • Buffers:内核缓冲区使用的内存。
  • Cached:文件系统缓存的内存。

4. 使用 vmstat 命令

vmstat 命令显示系统的虚拟内存统计信息,帮助你了解内存和交换空间的使用情况。

基本命令

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      0 2466564  168236 2673544    0    0     0     1  123  220  6  1 91  2  0

  • free:空闲内存的数量。
  • buff:内存缓存。
  • cache:文件缓存。
  • siso:分别表示从交换空间读取数据和写入数据的交换输入和输出。

5. 使用 htop 命令

htoptop 的增强版,提供了一个更为直观的交互式界面,可以实时查看系统资源使用情况。

安装 htop

在 Debian/Ubuntu 系统上:

sudo apt install htop

在 CentOS/RHEL 系统上:

sudo yum install htop

运行 htop

htop

它会显示类似 top 的信息,但以表格形式呈现,且可以使用键盘进行交互,选择不同的列来查看系统资源的使用情况。

总结

  • free:简单查看总内存、已用内存、空闲内存、缓存内存等。
  • top:动态查看内存和 CPU 使用情况,交互式界面。
  • cat /proc/meminfo:查看系统内存的详细信息。
  • vmstat:查看虚拟内存和交换空间的统计信息。
  • htop:更为直观的系统资源监控工具。

选择合适的命令来查看内存情况,根据需求来获取所需的详细信息。如果你有其他问题,随时向我提问!