在Linux系统中,查看当前内存、CPU以及其他资源的占用情况是系统管理员和开发人员的常见任务。了解这些信息有助于诊断性能问题、优化系统配置以及确保系统平稳运行。下面介绍几种常用的命令来查看当前的资源占用情况。
1. 查看内存使用情况:free
命令
free
命令是查看内存使用情况的一个简单而常用的工具。它会显示系统的内存总量、已使用内存、空闲内存以及交换空间(swap)的使用情况。
free -h
参数说明:
-h
:以人类可读的格式显示(例如,自动转换为GB、MB等单位)。
输出示例:
total used free shared buff/cache available
Mem: 15Gi 4.5Gi 7.8Gi 198Mi 3.1Gi 10Gi
Swap: 2.0Gi 0B 2.0Gi
解释:
total
:总内存。used
:已使用的内存。free
:空闲的内存。available
:当前可供使用的内存(考虑到缓存等)。swap
:交换空间的总量和使用情况。
2. 查看详细的内存信息:vmstat
命令
vmstat
命令提供了系统的内存、进程、CPU活动等的详细统计信息。它能帮助你更好地了解系统的性能状况。
vmstat 1
此命令每秒输出一次系统资源的统计信息。输出内容包括:
r
:就绪进程的数量。b
:处于阻塞状态的进程数。swpd
:使用的交换空间大小(KB)。free
:空闲内存的大小(KB)。buff
:用于缓冲的内存。cache
:用于缓存的内存。
3. 查看CPU占用情况:top
命令
top
命令是一个非常强大的实时监控工具,用来查看系统的CPU、内存、进程等信息。
top
输出的第一行显示了系统的总体资源使用情况,第二行开始显示各个进程的资源占用情况。特别注意:
%CPU
:每个进程占用的CPU百分比。%MEM
:每个进程占用的内存百分比。
按q
键退出top
命令。
4. 查看进程占用的内存和CPU:ps
命令
ps
命令用于查看当前运行的进程及其资源使用情况。你可以通过ps aux
命令查看所有进程的信息。
ps aux --sort=-%mem
这个命令将按内存使用率从高到低显示进程信息,你还可以根据CPU使用率进行排序:
ps aux --sort=-%cpu
输出包括:
USER
:进程所属的用户。%CPU
:进程使用的CPU百分比。%MEM
:进程使用的内存百分比。VSZ
:进程使用的虚拟内存大小(KB)。RSS
:进程使用的物理内存大小(KB)。
5. 查看磁盘使用情况:df
命令
df
命令用于显示文件系统的磁盘空间使用情况。
df -h
输出包括:
- 文件系统的总容量、已用容量、可用容量和挂载点。
-h
:以人类可读的格式显示(如GB、MB)。
6. 查看磁盘IO情况:iostat
命令
iostat
命令用于显示系统的输入输出设备的CPU使用情况和磁盘IO统计信息。它有助于识别磁盘操作瓶颈。
iostat -x 1
输出包含磁盘的详细I/O统计,如:
r/s
和w/s
:每秒读取和写入的请求数。rkB/s
和wkB/s
:每秒读取和写入的字节数。
7. 查看网络资源使用情况:netstat
或 ss
命令
netstat
命令显示网络连接、路由表和接口的状态,ss
命令是netstat
的现代替代品,性能更好。
netstat -tuln
或
ss -tuln
这些命令显示当前所有的网络监听端口和连接情况,包括:
t
:显示TCP连接。u
:显示UDP连接。l
:显示监听状态的端口。n
:显示数字形式的IP地址和端口号。
8. 实时监控资源:htop
命令
htop
是top
的一个更友好的替代品,提供了一个彩色的、可交互的界面,显示系统资源的占用情况,并允许用户直接终止进程或进行其他操作。
htop
你可以按F6
选择排序依据,按F9
终止进程,按F10
退出。
总结
通过这些常用的命令,你可以轻松地查看Linux系统中的内存、CPU、磁盘和网络资源占用情况。这些工具不仅有助于日常的系统监控,也能在系统出现性能问题时提供重要的诊断信息。掌握这些命令,将帮助你更好地管理和优化Linux系统的资源使用。