使用命令“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