【PHP面试题16】Linux下面如何查看CPU,磁盘,内存,网络等资源使用情况


一、概览

本文已收录于PHP全栈系列专栏:PHP面试专区
计划将全覆盖PHP开发领域所有的面试题,对标资深工程师/架构师序列,欢迎大家提前关注锁定。

Linux是一种开源的操作系统,它在服务器、嵌入式设备、超级计算机等领域都有广泛的应用。在运行Linux系统时,对于我们了解系统的资源占用情况非常重要,因为资源的占用情况直接影响着系统的性能和稳定性。本文主要介绍top、htop、free、uptime、df、du、iftop这些命令来查看Linux系统资源占用情况的方法。

二、top命令

top命令是Linux系统下一个常用的命令行工具,用于实时监视系统中运行的进程和资源的使用情况。可以通过top命令查看CPU、内存、进程等系统资源的占用情况。

2.1 使用方法

运行top命令后,会显示系统当前的资源占用情况,如下所示:

top - 20:34:37 up 1 day,  3:48,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 174 total,   1 running, 173 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1018728 total,   348052 free,   355404 used,   315272 buff/cache
KiB Swap:  1048572 total,  1048572 free,        0 used.   533272 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                   
 1843 root      20   0 1444120 212936  58864 S  1.0 21.0   8:35.31 Xorg                                                                                      
 2029 ubuntu    20   0  159400  18656  13192 S  0.7  1.8   0:02.77 gnome-terminal-                                                                           
 1925 ubuntu    20   0  500672  91412  60788 S  0.3  9.0   1:41.70 gnome-shell                                                                               
 2503 ubuntu    20   0  671692  43016  31480 S  0.3  4.2   0:04.01 gedit

2.2 输出解释

在top命令输出的内容中,可以看到以下几个关键信息:

  • 第一行显示系统当前时间和负载情况。
  • 第二行显示进程总数、正在运行的进程数、睡眠中的进程数等信息。
  • 第三行显示CPU占用情况。
  • 第四行显示内存占用情况。
  • 从第七行开始,显示了系统中各个进程的占用情况。

top命令默认情况下会按照CPU占用率来进行排序,可以通过按“P”键来切换成按内存占用率排序。另外,如果想结束top命令,可以直接按下“Q”键即可。

三、htop命令

htop命令是top命令的增强版,它能够更加直观地显示系统资源的占用情况,支持使用鼠标来操作,可以方便地进行进程管理。

3.1 安装方法

在Debian或Ubuntu系统上,可以通过以下命令来安装htop:

sudo apt-get install htop

3.2 使用方法

运行htop命令后,会显示系统当前的资源占用情况,如下所示:

  1 │ root      │        │  1427MiB │  21% │                                   │ python3                                                                               
  2 │ root      │        │   827MiB │  12% │                                   │ python3                                                                               
  3 │ root      │        │   461MiB │   6% │ /usr/bin/python3 /usr/bin/ansible- │ ansible-playbook                                                                      
  4 │ _apt      │ showca │   352MiB │   5% │ /usr/bin/python3 /usr/bin/unatten │ unattended-upgrades                                                                   
  5 │ root      │        │   327MiB │   5% │                                   │ python3                                                                               
  6 │ root      │        │   112MiB │   1% │ /usr/sbin/mysqld --daemonize --l │ mysqld                                                                                
  7 │ mysql     │        │    95MiB │   1% │ /usr/sbin/mysqld --daemonize --l │ mysqld                                                                                
  8 │ root      │        │    82MiB │   1% │ kubelet --bootstrap-kubeconfig= │ kubelet                                                                               
  9 │ ubuntu    │ tty1   │    79MiB │   1% │ /lib/systemd/systemd --user     │ systemd                                                                               
 10 │ ubuntu    │        │    71MiB │   1% │ /usr/lib/gnome-terminal/gnome-t │ gnome-terminal-                                                                       
 11 │ ubuntu    │        │    60MiB │   1% │ /usr/lib/xorg/Xorg -core        │ Xorg                                                                                  
 12 │ root      │        │    58MiB │   1% │ /usr/bin/dockerd -H fd:// --con │ dockerd                                                                               
 ...

3.3 输出解释

在htop命令输出的内容中,可以看到以下几个关键信息:

  • 第一列显示进程的PID。
  • 第二列显示进程的用户。
  • 第三列显示进程的状态。
  • 第四列显示进程所占用的内存大小。
  • 第五列显示进程所占用CPU的百分比。
  • 最后一列显示进程的命令行。

可以通过键盘上的上下左右箭头来选择进程,并且可以通过F2、F3、F4等键来进行进程管理,如结束进程、改变进程优先级等操作。

四、free命令

free命令用于显示系统的物理内存和交换空间使用情况,可以方便地查看系统中的内存和交换分区的使用情况。

4.1 使用方法

运行free命令后,会输出系统当前的内存和交换空间使用情况,如下所示:

              total        used        free      shared  buff/cache   available
Mem:         1018728      651368      216620       23956      150740      258176
Swap:        1048572           0     1048572

4.2 输出解释

在free命令输出的内容中,可以看到以下几个关键信息:

  • 第一行显示了系统的总内存、已使用内存、空闲内存、共享内存和缓存占用情况。
  • 第二行显示了系统的总交换空间、已使用交换空间、空闲交换空间占用情况。

五、uptime命令

uptime命令用于显示系统的运行时间和负载情况,可以方便地了解系统的稳定性和负载情况。

5.1 使用方法

运行uptime命令后,会输出系统的运行时间和负载情况,如下所示:

 20:09:07 up 1 day,  4:22,  1 user,  load average: 0.02, 0.02, 0.00

5.2 输出解释

在uptime命令输出的内容中,可以看到以下几个关键信息:

  • 第一列显示了系统当前时间。
  • 第二列显示了系统的运行时间,格式为“天数:小时:分钟”。
  • 第三列显示了当前登录用户数。
  • 最后一列显示了系统的平均负载情况,分别是1分钟、5分钟、15分钟内的平均负载。

六、查看磁盘情况

6.1 df命令

df命令用于显示分区和文件系统的信息。通过-h选项可以将输出转换为人类可读的形式。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       479G  264G  191G  59% /
devtmpfs         16G     0   16G   0% /dev
tmpfs            16G     0   16G   0% /dev/shm
tmpfs            16G  1.3M   16G   1% /run
tmpfs            16G     0   16G   0% /sys/fs/cgroup
tmpfs           3.2G     0  3.2G   0% /run/user/0

6.2 du命令

du命令用于计算文件和目录占用的磁盘空间。通过-h选项可以将输出转换为人类可读的形式。

$ du -h /home/user/
4.0K    /home/user/testfile.txt
4.0K    /home/user/Downloads
24K     /home/user/Desktop
4.0K    /home/user/Public
12K     /home/user/Documents
64K     /home/user/

七、查看网络情况

7.1 iftop命令

iftop命令用于实时监测网络流量,可以按照IP和端口号进行过滤。

$ sudo iftop -i eth0

7.2 nload命令

nload命令用于实时监测网络带宽使用情况,可以按照网络接口进行过滤。

$ sudo nload eth0

7.3 NetHogs命令

NetHogs命令用于显示每个进程所消耗的网络流量。通过-p选项可以按照端口号进行过滤。

$ sudo nethogs -p eth0

结语

以上就是本文讲解的内容,这些东西无论是平时日常工作还是面试,都是比较常见和基础的。

本文已收录于PHP全栈系列专栏:PHP面试专区
计划将全覆盖PHP开发领域所有的面试题,对标资深工程师/架构师序列,欢迎大家提前关注锁定。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑夜开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值