在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系统的资源使用。