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

news/2024/11/24 4:48:30/

文章目录

  • 一、概览
  • 二、top命令
    • 2.1 使用方法
    • 2.2 输出解释
  • 三、htop命令
    • 3.1 安装方法
    • 3.2 使用方法
    • 3.3 输出解释
  • 四、free命令
    • 4.1 使用方法
    • 4.2 输出解释
  • 五、uptime命令
    • 5.1 使用方法
    • 5.2 输出解释
  • 六、查看磁盘情况
    • 6.1 df命令
    • 6.2 du命令
  • 七、查看网络情况
    • 7.1 iftop命令
    • 7.2 nload命令
    • 7.3 NetHogs命令
  • 结语


一、概览

本文已收录于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开发领域所有的面试题,对标资深工程师/架构师序列,欢迎大家提前关注锁定。


http://www.ppmy.cn/news/583696.html

相关文章

展览展示设计中的色彩与主題

在展览展示设计中,要根据不同的展现主题、企业文化、环境、时节等诸多要素,在颜色应用上作出不同的艺术处理,这样才能到达预期的规划作用。 1.使用颜色的温度感来体现主题特征。颜色是具有温度感的。暖色系在人的心理上易发生舒展的感觉&…

鸡汤之力

1、曾经有一段时间,你心情低落,甚至懒得拉开窗帘,看着窗外的阳光。因此你当然也忘了去看看,窗台上那一盆每天都需要喝水的玛格丽特。如此不知过了多久,总算有一天,你度过了心情的低潮,同时也想起…

第二十三章

第二十三章 曲则全,枉则正,洼则盈,敝则新,少则得,多则惑。是以圣人执一,为天下牧。不自视故彰;不自见故明;不自伐故有功;弗矜故能长。夫唯不争,故莫能与之争。…

C#增删改小总结

首先建立数据库中相应的表 create database mydbgouse mydbgocreate table Productor --汽车厂商( Prod_Code varchar(50) primary key, --厂商编号 Prod_Name varchar(50) not null --厂商名称)gocreate table Brand --品牌( Brand_Code varchar(50) primary key, --品牌编号 …

Python爬虫练习笔记——爬取一本小说并保存为txt文件

最近竟然开始磕起了黄晓明和尹正的CP!!! 但是万恶的爱某艺不好好更新剧集,居然搞起了超前点映… WTF???有什么是我这个贫穷而又尊贵的VIP用户不能看的吗??? …

婚宴座位图html5,20桌婚宴座位安排图(婚宴座位顺序如何安排?)

酒席上如何安排座次 这个可分为正式的大型和分正式的小型宴会: 正式或大型宴会: 正式或大型宴会一般都排席位,也可只排部分客人席位,其他人员只排桌次或自由入座。 1、宴会席位主要是根据出席人员礼宾次序安排的,同时还要综合考虑政治关系、语言使用、宗教信仰和专业等诸因…

哈尔滨计算机管理,哈尔滨戴斯酒店计算机管理系统.doc

哈尔滨酒店计算机管理系统的建议 FRONTIER前台管理系统方案 日常管理 散客预订,团队预订 客房更改房态,检查差异房 自动分配干净房 前台收银,转移帐户项目,团队快速结帐 打印客户所需报表,并支持屏幕预览 在同一屏幕中…

哈尔滨计算机管理,哈尔滨戴斯酒店计算机管理完整系统.doc

哈尔滨戴斯酒店计算机管理完整系统 哈尔滨酒店计算机管理系统的建议 FRONTIER前台管理系统方案 日常管理 散客预订,团队预订 客房更改房态,检查差异房 自动分配干净房 前台收银,转移帐户项目,团队快速结帐 打印客户所需报表&#…