设为首页 加入收藏

TOP

Linux 系统环境监测(一)
2023-07-23 13:41:25 】 浏览:51
Tags:Linux

Linux系统环境监测

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

1. CPU

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

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

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

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

09:57:53                        # 当前时间
up  7:17                        # 主机已运行时间
2 users                         # 当前登录用户数
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,中央处理器。

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   201492  74484  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 - 10:48:44 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.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  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.6 id -- 表示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   每秒从磁盘
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C多进程 下一篇Linux基础-学会使用命令帮助

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目