使用命令“top”实时查看系统资源占用情况,包括CPU、内存等;
在Linux系统中,有多种方法可以查看资源占用情况,以下是详细介绍:
CPU资源占用情况查看
| 命令 | 说明 | 示例 |
|---|---|---|
top |
实时显示系统各进程的资源占用情况,包括CPU使用率、内存使用率等,默认情况下,按q键可退出该命令。 |
在终端中输入top,可看到类似如下信息:<br>top 23:05:10 up 10 days, 3:21, 2 users, load average:0.00, 0.00, 0.00<br>Tasks: 167 total, 1 running, 166 sleeping, 0 stopped, 0 zombie<br>%Cpu(s): 1.3 us, 0.3 sy, 0.0 ni, 98.2 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st<br>KiB Mem : 7986544 total, 123456 free, 6000000 used, 1861988 buff/cache<br>KiB Swap: 2097148 total, 2097148 free, 0 used. ...(后面是各进程信息)%Cpu(s)行显示了CPU的使用情况,包括用户空间占用百分比(us)、系统空间占用百分比(sy)、改变过优先级的进程占用百分比(ni)、空闲百分比(id)、等待I/O的进程占用百分比(wa)、硬中断占用百分比(hi)、软中断占用百分比(si)和被偷走的虚拟化CPU时间占比(st)。按 P键可以按CPU使用率排序,方便查看CPU占用高的进程。 |
htop |
top命令的增强版,需要先安装(一般可通过包管理器如yum install htop或apt-get install htop进行安装),它提供了更友好的界面和交互方式,例如可以通过上下箭头选择进程,按F9可以删除进程等。 |
安装后在终端输入htop,会看到一个彩色的、带有更多功能按钮的界面,能更直观地查看CPU等资源占用情况及各进程信息。 |
ps |
用于查看当前系统的进程状态,结合一些参数可以查看特定进程的CPU使用情况,例如ps aux可以查看所有进程的详细信息,包括CPU使用率、内存使用率等。 |
在终端输入ps aux较多,其中包含各进程的USER(用户)、PID(进程ID)、%CPU(CPU使用率)、%MEM(内存使用率)、VSZ(虚拟内存大小)、RSS(常驻内存大小)、TTY(终端类型)、STAT(进程状态)、START(启动时间)、TIME(累计CPU时间)和COMMAND(命令)等信息。 |
mpstat |
用于查看CPU的使用情况,包括各个CPU的使用情况以及平均使用情况等,需要先安装(一般可通过包管理器安装),例如mpstat -P ALL可以查看所有CPU的使用情况。 |
安装后输入mpstat -P ALL,会显示每个CPU的使用情况统计信息,如cpu行的%usr(用户空间使用百分比)、%sys(系统空间使用百分比)、%iowait(等待I/O操作的百分比)等。 |
内存资源占用情况查看
| 命令 | 说明 | 示例 |
|---|---|---|
free |
显示系统的内存使用情况,包括总内存、已用内存、空闲内存、缓存和交换分区等信息。 | 在终端输入free -h(-h表示以人类可读的格式显示,如MB、GB等),输出类似如下:<br> total used free shared buff/cache available<br>Mem: 7.8G 6.0G 1.8G 200M 0.9G 1.5G<br>Swap: 2.0G 0G 2.0G<br>total表示总内存,used表示已用内存,free表示空闲内存,shared表示共享内存,buff/cache表示缓存和缓冲区使用的内存,available表示可用内存(考虑了缓存和缓冲区的内存)。 |
top |
除了可以查看CPU使用情况外,也可以查看内存使用情况,按M键可以按内存使用率排序。 |
在top命令界面中,可以看到每个进程的%MEM列,表示该进程所占用的内存百分比。 |
pmap |
用于显示指定进程的内存映射情况,包括各个内存段的大小、权限等信息,例如pmap -x [进程ID]可以查看指定进程的详细内存映射情况。 |
假设有一个进程ID为1234,输入pmap -x 1234,会显示该进程的各个内存段的地址、权限、大小等信息,帮助分析进程的内存使用细节。 |
磁盘资源占用情况查看
| 命令 | 说明 | 示例 |
|---|---|---|
df |
用于显示磁盘分区的挂载情况以及使用情况,包括文件系统的容量、已用空间、可用空间等信息。 | 在终端输入df -h(-h表示以人类可读的格式显示),输出类似如下:<br>Filesystem Size Used Avail Use% Mounted on<br>/dev/sda1 50G 30G 20G 60% /\br>tmpfs 2.0G 0 2.0G 0% /dev/shm<br>...<br>Filesystem表示文件系统,Size表示文件系统的总大小,Used表示已用空间,Avail表示可用空间,Use%表示使用百分比,Mounted on表示挂载点。 |
du |
用于查看指定目录或文件的磁盘使用情况,显示每个文件和目录的大小,例如du -sh [目录]可以查看指定目录的总大小。 |
输入du -sh /var/log,会显示/var/log目录的总大小,如100M /var/log。 |
网络资源占用情况查看
| 命令 | 说明 | 示例 |
|---|---|---|
ifconfig |
用于查看网络接口的配置信息,包括IP地址、子网掩码、MAC地址等,也可以查看网络接口的流量统计信息(部分系统可能用ip addr代替),例如ifconfig eth0可以查看eth0网络接口的信息。 |
在终端输入ifconfig eth0(假设eth0是网络接口名称),会显示该接口的详细信息,包括接收和发送的数据包数量、字节数等。 |
netstat |
用于查看网络连接、路由表、接口统计等信息,例如netstat -tuln可以查看所有监听的端口和对应的服务。 |
输入netstat -tuln,会显示类似如下信息:<br>Proto Recv-Q Send-Q Local Address Foreign Address State <br>tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN <br>tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN <br>...<br>Proto表示协议类型,Recv-Q表示接收队列长度,Send-Q表示发送队列长度,Local Address表示本地地址,Foreign Address表示外部地址,State表示连接状态。 |
ss |
类似于netstat,但功能更强大,用于查看套接字统计信息,例如ss -tuln可以查看所有监听的端口和对应的服务。 |
输入ss -tuln,输出与netstat -tuln类似,但可能包含更多的细节信息。 |
FAQs
问题1:如何查看某个特定进程的CPU和内存占用情况?
答:可以使用ps命令结合进程的相关标识来查看,如果知道进程的PID(进程ID),可以使用ps -p [PID] -o pid,%cpu,%mem,cmd来查看该进程的PID、CPU使用率、内存使用率和命令,也可以通过top或htop命令,在里面通过查找进程名或PID来定位特定进程并查看其资源占用情况。
问题2:如何查看系统的负载情况?
答:可以使用uptime命令或在top、htop命令的界面中查看。uptime命令会显示系统的运行时间、当前时间、登录用户数以及系统的平均负载(一般包括1分钟、5分钟和15分钟的平均负载)。
以上内容就是解答有关如何查看linux资源占用情况的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/11332.html