0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统环境监测终极指南

马哥Linux运维 来源:博客园 2025-06-25 14:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Linux系统环境监测

Linux系统环境主要监测CPU、内存、磁盘I/O和网络流量。

1. CPU

(1) 查看CPU的负载情况:uptime

可以通过uptime查看系统整体的负载情况。

如果服务器的CPU为1核心,则1分钟的系统平均负载 >=3 说明负载过高,如果服务器的CPU为4核心,则load average中的数字 >=12 负载过高。

root@ubuntu1804:~#uptime
0953 up 7:17, 2users, load average: 0.10, 0.03, 0.01


0953            # 当前时间
up 7:17            # 主机已运行时间
2users            # 当前登录用户数
load average: 0.10, 0.03, 0.01 # 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值

(2)linux中查看cpu的逻辑数量:

ehigh@ubuntu:~$ grep -c'processor'/proc/cpuinfo
8

CPU:central processing unit,中央处理器

f0edfb3a-4dba-11f0-b715-92fbcf53809c.png

image

插槽:表示电脑上插了几个物理cpu
内核:表示这个物理cpu有几个核心,一个核心就是一个cpu
逻辑处理器:逻辑上的处理器数量,通过超线程技术将一个处理器模拟出两个处理器出来。
超线程技术:在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程

cpu发展历程:

刚开始一个物理cpu只有一个核心,通过提高核心的工作频率来提高性能,但是会产生过多的热量。
后面因特尔发明了超线程技术,在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程
后面采用多核架构,在一个物理cpu里面放多个核心,好似一辆汽车放多个发动机。

例如:服务器上面插了一个物理cpu是4核8线程。表示的是这个cpu又4个核心,支持超线程技术,逻辑cpu就是8个。

并发

(3)查看系统中使用CPU最多的进程:top

使用top命令,按下大写的P,可以按cpu使用率排序

PID   USER   PR  NI   VIRT   RES   SHR  S  %CPU  %MEM  TIME+   COMMAND
720  root   20 0  473464 22060 19128 S   1.7  0.2 119:55.14 sunloginclient  
3590  emqx   20 0  3483576 20149274484 S   1.3  2.0 64:39.37  beam.smp  
984  root   20 0  2754328 50696 5192 S   1.0  0.5 77:32.96  taosd

进程的cpu占用能否超过100%?

如果你的4核心的cpu,你可以运行400%

判断CPU当前忙不忙?

要结合cpu使用率和队列一起看,如果一分钟内cpu的队列数超过3并且cpu的使用率也很高,说明当前cpu很忙。

(4)查看cpu的使用率:

使用top命令,然后按数字1就可以显示每个cpu的详细信息

top - 1044 up 5 days, 1:15, 1 user, load average: 0.10, 0.14, 0.10
Tasks: 398 total,  1 running, 397 sleeping,  0 stopped,  0 zombie
%Cpu0 : 0.0 us, 3.4 sy, 0.0 ni, 96.6id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu5 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu6 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu7 : 0.0 us, 0.0 sy, 0.0 ni,100.0id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem :  9952.6 total,  5473.8 free,  2145.3 used,  2333.5 buff/cache
MiB Swap:   0.0 total,   0.0 free,   0.0 used.  7477.7 avail Mem

#96.6id-- 表示cpu的空闲率是96.6%

2. 内存

(1)查看内存的大小和使用量:

root@ubuntu:~# free -h
       total    used    free   shared buff/cache  available
Mem:     9.7Gi    2.1Gi    5.4Gi    49Mi    2.3Gi    7.3Gi
Swap:      0B     0B     0B

#选项:
# -h 表示系统会根据值的大小来选择合适的单位,默认是byte


# aotal     总计物理(swap)内存的大小
# used     已使用物理内存(swap)的大小
# free     可用的物理内存(swap)大小
# shared   多个进程共享的内存总额
# buff/cache 磁盘的缓存大小
# available   可以被新应用程序使用的内存大小


# Mem:物理内存的大小
# Swap:交换分区的大小,交换分区就是使用磁盘的一部分空间来模拟内存,当物理内存占用满的时候就将一部分不常用的数据移动到交换分区中。交换分区是临时充当内存的作用,性能很低。

(2)查看系统使用内存最多的进程:

使用top命令然后按大写M就可以按照内存的使用率来进行排序,按e可以按M,G,T 这些单位来显示

PID  USER   PR NI  VIRT  RES  SHR  S %CPU  %MEM   TIME+ COMMAND
1377 mysql   20  0  4.8g  0.8g  0.0g S  0.7  7.8    67:01.24 mysqld
977  root   20  0  7.7g  0.3g  0.0g S  0.0  3.4    32:34.83 java
3590 emqx   20  0  3.3g  0.2g  0.1g S  0.7  2.0    64:48.04 beam.smp
446  root   19 -1  0.3g  0.2g  0.2g S  0.0  2.0    1:59.99 systemd-journ

3. 磁盘IO

(1)查看对磁盘读写最多的进程

oot@ubuntu1804:~# iostat -dkp
Linux 4.15.0-156-generic (ubuntu1804)   12/03/2022   _x86_64_  (4 CPU)

Device       tps  kB_read/s  kB_wrtn/s  kB_read  kB_wrtn
loop0       0.00     0.00     0.00     8     0
sda        0.64    16.17    58.90   487458  1775844
sda1       0.01     0.20     0.00    5893     96
sda2       0.00     0.00     0.00     4     0
sda5       0.00     0.11     0.00    3312     0
sda6       0.63    15.79    58.90   476129  1775748
scd0       0.00     0.07     0.00    2056     0

# kB_read/s  每秒从磁盘读入的数据量,单位为K.
# kB_wrtn/s  每秒向磁盘写入的数据量,单位为K.
# kB_read  读入的数据总量,单位为K.
# kB_wrtn  写入的数据总量,单位为K.

# -d 仅显示磁盘统计信息
# -k 以K为单位显示每秒的磁盘请求数,默认单位块.
# -p device | ALL 用于显示块设备及系统分区的统计信息.

服务器很卡,查看CPU使用率不高,内存也够用,但就是卡,尤其是打开新程序或文件时,更卡。此时是哪出问题了?

一般是磁盘IO到达了瓶颈,还企业级ssd可以提高性能瓶颈。

(2)查看哪个进程使用磁盘读写最多

root@ubuntu1804:~# iotop -o

Total DISK READ :    5.79 M/s | Total DISK WRITE :    2.28 M/s
Actual DISK READ:    5.79 M/s | Actual DISK WRITE:    4.64 M/s

TID  PRIO USER   DISK READ   DISK WRITE  SWAPIN   IO>   COMMAND
17238 be/4 tom   5.79 M/s    0.00 B/s   0.00 %   64.19 % find /
17092 be/4 root   0.00 B/s    0.00 B/s   0.00 %   12.71 % [kworker/u256:0]
476  be/3 root   0.00 B/s    2.28 M/s   0.00 %   5.45 % [jbd2/sda6-8]


# Total DISK READ:总的磁盘读取速度。 Total DISK WRITE:总的磁盘写入速度。
# Actual DISK READ:实际磁盘读的速度  Actual DISK WRITE:实际磁盘写的速度

# TID:进程pid值。
# PRIO:优先级。
# USER:用户。
# DISKREAD:磁盘读取速度。
# DISK WRITE:磁盘写入速度。
# SWAPIN:从swap分区读取数据占用的百分比。
# IO:I/O占用的百分比。
# COMMAND:消耗I/O的进程名。 

#命令选项: 
# -o, -only 只显示在读写硬盘的程序
# -d SEC, -delay=SEC 设定显示时间间隔。 刷新时间
# 退出,按q或ctrl+C

4. 网络

(1)使用nload监控总体带宽使用情况

tom@ubuntu1804:~$ nload -u h # -u:指定数据的单位 h表示写哦那个会根据数值的大小自动选择单位 例如M G等
Device eth0 [10.0.0.18] (1/2):
==

Incoming:#进来的网络流量
Curr: 558.33 kBit/s #当前流量
Avg: 297.12 kBit/s  #平均流量
Min: 1.39 kBit/s   #最小流量
Max: 894.77 kBit/s  #最大流量
Ttl: 58.23 MByte   #流量总和


Outgoing:#出去的网络流浪
Curr: 16.16 kBit/s
Avg: 15.37 kBit/s
Min: 4.52 kBit/s
Max: 32.62 kBit/s
Ttl: 766.79 kByte

(2)使用nethogs找出使用带宽最多的进程

tom@ubuntu1804:~$sudonethogs
NetHogs version 0.8.5-2

PID  USER   PROGRAM         DEV     SENT     RECEIVED 
1733  root   wget          eth0    13.352    4317.425 KB/sec
1605  tom   sshd: tom@pts/0     eth0    1.025     0.07013.276 KB/sec
1732  root   wget tom@pts/0     eth0    0.000     0.000 KB/sec
?   root   unknown         TCP     0.000     0.000 KB/sec

TOTAL  0.000   0.000 KB/sec           14.378    4317.701


# PID:行程 ID。
# USER:行程的拥有者。
# PROGRAM:程序路径。
# DEV:网络接口。
# SENT:目前传送数据的速度。
# RECEIVED:目前接收数据的速度

#TOTAL 总计、总和

#快捷键:
# m:切换带宽单位,可用单位有 KB/s、KB、B、MB。
# r:以数据接收速度排序。
# s:以数据传送速度排序。
# q:离开 NetHogs。

链接:https://www.cnblogs.com/heyongshen/p/16947514.html

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217986
  • 服务器
    +关注

    关注

    13

    文章

    10093

    浏览量

    90890
  • 环境监测
    +关注

    关注

    3

    文章

    387

    浏览量

    19501

原文标题:【Linux运维必备】系统环境监测终极指南:从CPU到磁盘,一文掌握所有监控技巧​

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于Labview的蔬菜大棚环境监测系统的研究

    基于Labview的蔬菜大棚环境监测系统的研究
    发表于 08-31 14:22

    基于Matlab串行通信的环境监测系统设计

    谁有基于Matlab串行通信的环境监测系统设计,51单片机对温度和湿度的采集,在GUI界面显示!!!!!!
    发表于 04-04 11:37

    基于 ARM 的环境监测系统的设计与实现

    #基于 ARM 的环境监测系统的设计与实现#这是我的课程设计题目,在下是学生,跪求大神指教,我到底该怎么入手
    发表于 12-08 22:25

    【Intel Edison申请】儿童环境监测

    满足了简单的环境监测了,将这些小项目组合起来就可以实现一个简单的环境监测系统了。这里要调试各个模块之前的逻辑关系与兼容性,不可以产生冲突。实现一个web或是在一个服务器上可以查看监测
    发表于 06-27 17:20

    无线环境监测系统怎么实现?

    目前,我国环境监测设备已经有了长足的发展,例如应用卫星遥感技术进行环境监测,采用GPRS系统对地下水监测等,各种环境采样器也更加精确。但是大
    发表于 03-10 06:32

    14个环境监测系统设计案例

    工作的前提。随着现代科学技术的发展,环境监测越来越趋于智能化,无线传感网络、微波辐射技术、ZigBee等技术都被运用到环境检测中来。本文就将为大家介绍一些基于现代技术的环境监测系统的设
    发表于 04-26 09:16

    智能环境监测系统设计

    智能环境监测系统设计,本系统设计是从低成本、低功耗、高效率等概念出发,采用32位单片机STM32F103C8T6为处理核心,在数据采集节点端控制一系列的传感器(如DS18B20、DHT11
    发表于 08-09 06:48

    基于单片机的稻田环境监测系统具有哪些功能

    设计简介:本设计是基于单片机的稻田环境监测系统,主要实现以下功能:主机1、显示从机测量数据,并对从机进行阈值设置2、实现多从机监测3、具有报警功能(土壤湿度过低、温度过低)从机1、测量温湿度
    发表于 12-08 08:28

    关于环境监测设备中AD7091R的时序问题

    的主要功能是帮助客户监测货物的状态,避免货物变质、受损。因此环境监测设备最重要的特征是:温湿度监测、实时地理位置监测、状态监测等。对于货物出
    发表于 01-12 06:57

    基于ARM的环境监测系统设计_余筱

    基于ARM的环境监测系统设计_余筱
    发表于 03-19 11:33 4次下载

    城市网格化大气环境监测系统介绍

    环境监测环境治理的基础,日益受到人们的关注和国家的政策支持。传统的高成本、低密度的环境监测站已不能满足现今的监测需求。采用新技术的低成本、高密度的
    发表于 08-20 11:10 5958次阅读

    环境监测系统大楼的详细参数介绍

      环境监测系统大楼【云唐 YT-JYC01】环境监测,是指环境监测机构对环境质量状况进行监视和测定的活动。
    的头像 发表于 03-09 16:36 1282次阅读
    <b class='flag-5'>环境监测</b><b class='flag-5'>系统</b>大楼的详细参数介绍

    基于树莓派的环境监测系统

    作为环境监测系统的核心 树莓派是一款低成本的单片机计算机,支持各种操作系统,如Linux等。它具有强大的处理能力和丰富的输入输出接口,使得它成为一个理想的
    的头像 发表于 01-04 15:15 4748次阅读

    智慧旅游景区环境监测系统应用

    ,提升游客体验。 为了更好地满足环境监测的需求,智慧旅游景区环境监测系统应运而生。该系统集数据采集、存储、传输、管理于一体的环境自动监控
    的头像 发表于 04-09 15:57 931次阅读

    环境监测的革新者:UWB模块在环境监测系统中的应用研究

    随着环境污染和气候变化等问题日益突出,环境监测成为了保护生态环境和人类健康的重要手段。超宽带(UWB)技术以其高精度、低功耗的特点,为环境监测系统
    的头像 发表于 04-12 15:03 935次阅读