在 Linux 服务器上查看内存使用情况有多个常用命令,以下是一些最常用的命令及其功能:
1. free
-
功能:显示内存的使用情况,包括物理内存、交换空间(swap)等。
-
命令:
free -h
-h
:以人类可读的格式显示(如 MB、GB)。
-
输出解释:
- total:总内存。
- used:已使用内存。
- free:空闲内存。
- shared:共享内存。
- buffers:用于缓冲区的内存。
- cached:缓存的内存。
- swap:交换空间。
2. top
-
功能:实时显示系统的资源使用情况,包括 CPU 和内存。
-
命令:
top
-
输出解释:
- 在顶部,你会看到
Mem
和Swap
部分,显示总内存、已使用内存、空闲内存、缓冲区缓存等。 - 动态显示的进程列表中,通常会有内存使用率较高的进程。
- 在顶部,你会看到
-
实时刷新:按
Shift + M
按内存使用量排序进程。
3. htop
-
功能:类似
top
,但提供更友好的界面和交互式操作。 -
命令:
htop
- 如果系统没有安装
htop
,可以通过sudo apt install htop
或sudo yum install htop
安装。
- 如果系统没有安装
-
特点:
- 显示内存、CPU 和进程信息,支持图形化显示。
- 可交互操作,可以按内存、CPU 使用排序,过滤进程等。
4. vmstat
-
功能:报告虚拟内存统计信息。
-
命令:
vmstat 1
1
:每秒更新一次信息。
-
输出解释:
- swpd:使用的虚拟内存(swap)。
- free:空闲内存。
- buff:用于缓冲的内存。
- cache:用于文件缓存的内存。
- si/so:从交换区读/写的内存量。
5. cat /proc/meminfo
-
功能:查看详细的内存信息,显示更为详细的内存使用统计数据。
-
命令:
cat /proc/meminfo
-
输出解释:
- MemTotal:总物理内存。
- MemFree:空闲物理内存。
- Buffers:用于缓存的内存。
- Cached:文件系统缓存的内存。
- SwapTotal:交换空间总量。
- SwapFree:空闲交换空间。
6. ps
-
功能:查看当前系统的进程信息,并显示每个进程的内存使用情况。
-
命令:
ps aux --sort=-%mem
aux
:列出所有进程。--sort=-%mem
:按内存使用量降序排序。
-
输出解释:
- %MEM:进程使用的内存百分比。
- RSS:进程使用的物理内存(以 KB 为单位)。
7. dmesg
- 功能:显示内核缓冲区的信息,通常用于查看启动时的内存相关信息或错误。
- 命令:
dmesg | grep -i memory
8. sar
- 功能:提供历史系统性能数据,包括内存、CPU 使用情况。
- 命令:
sar -r 1 3
-r
:显示内存的统计信息。1
:表示每秒钟收集一次数据。3
:表示显示 3 次数据。
9. smem
- 功能:显示内存使用情况,提供更详细的进程内存统计(包括共享内存)。
- 命令:
smem -r
-r
:显示详细的报告,包括按进程列出。
这些命令都能帮助你实时或定期检查系统内存的使用情况。结合不同的命令,可以获得更精确和全面的内存资源监控。