Linux系统在服务器和桌面应用中广泛使用,其资源占用情况直接影响系统性能和用户体验,了解并监控Linux系统的资源使用情况是系统管理员和开发者必备的技能,本文将详细介绍如何在Linux系统中查看CPU、内存、磁盘和网络资源的占用情况,并提供相关命令的使用方法和示例。
一、CPU占用情况
1. 使用top命令查看CPU占用
top命令是一个实时显示系统资源占用情况的工具,可以动态查看各个进程的CPU使用率。
top
运行top命令后,会进入一个实时更新的界面,其中第三行显示了CPU的使用情况:
us:用户空间占用CPU的百分比
sy:内核空间占用CPU的百分比
ni:改变过优先级的进程占用CPU的百分比
id:空闲CPU百分比
wa:等待输入输出的CPU时间百分比
hi:硬中断(Hardware IRQ)占用CPU的百分比
si:软中断(Software Interrupts)占用CPU的百分比
st:被虚拟机偷走的CPU时间百分比
通过按Shift+M,可以按照内存使用率排序;按q退出top命令。
2. 使用mpstat命令查看CPU整体使用情况
mpstat命令用于报告各个可用CPU的平均活动情况。
mpstat
该命令输出包括每个CPU的用户态、系统态、空闲态等详细使用情况。
二、内存占用情况
1. 使用free命令查看内存占用
free命令用于显示系统内存的使用情况,包括物理内存和交换内存。
free -h
输出示例如下:
total used free shared buff/cache available |
Mem: total used free shared buff/cache available |
Swap: total used free shared buff/cache available |
各列的含义如下:
total:总内存大小
used:已使用的内存大小
free:空闲的内存大小
shared:多个进程共享的内存总量
buff/cache:用于缓存和缓冲的内存量
available:系统实际可用的内存量
2. 使用ps命令查看内存占用前五的进程
ps命令结合sort和head命令,可以查看内存占用前五的进程。
ps auxw | head -1; ps auxw | sort -rn -k4 | head -5
输出示例如下:
| PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND |
| 1001 root 20 0 123456 12345 1234 R 99.9 1.2 0:00.12 command |
各列的含义如下:
PID:进程ID
USER:用户名
PR:优先级
NI:负值表示高优先级,正值表示低优先级
VIRT:虚拟内存使用量
RES:常驻内存使用量
SHR:共享内存使用量
S:进程状态
%CPU:CPU使用率
%MEM:内存使用率
TIME+:进程启动后的总CPU时间
COMMAND:启动的命令名称
三、磁盘占用情况
1. 使用df命令查看磁盘空间使用情况
df命令用于显示文件系统的磁盘空间使用情况。
df -h
输出示例如下:
Filesystem Size Used Avail Use% Mounted on |
/dev/sda1 40G 20G 20G 50% / |
tmpfs 1.9G 12K 1.9G 1% /dev/shm |
/dev/sdb1 100G 50G 50G 50% /data |
各列的含义如下:
Filesystem:文件系统名称
Size:文件系统总大小
Used:已用空间大小
Avail:可用空间大小
Use%:使用百分比
Mounted on:挂载点
2. 使用du命令查看目录或文件占用的空间
du命令用于估算文件或目录的空间使用量。
du -sh /path/to/directory
输出示例如下:
1、2G /path/to/directory
四、网络带宽使用情况
1. 使用iftop命令查看网络带宽使用情况
iftop命令是一个实时的网络流量监控工具,类似于top命令。
iftop
运行iftop命令后,会进入一个实时更新的界面,显示每个网络连接的带宽使用情况,按q退出iftop命令。
2. 使用netstat命令查看网络连接和统计信息
netstat命令用于显示网络连接、路由表、接口统计等信息。
netstat -i
输出示例如下:
Interface | Receive | Transmit | Collisions | Carrier | Speed |
lo | 0 | 0 | 0 | 0 | 10Mbps |
eth0 | 123456789 packets/123456789 bytes | 987654321 packets/987654321 bytes | 0 | 0 | 1000Mbps |
通过上述命令和工具,用户可以全面了解Linux系统的资源占用情况,包括CPU、内存、磁盘和网络的使用情况,这些信息对于系统优化、故障排查和性能调优具有重要意义,掌握这些命令的使用方法,可以帮助系统管理员和开发者更好地管理和维护Linux系统。
小伙伴们,上文介绍了“linux 资源占用”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。