|NO.Z.00015|——————————|ManageMent|——|Linux&进程管理.V05|

一、系统资源查看:vmstat 命令监控系统资源
### --- vmstat 命令监控系统资源

[root@localhost ~]# vmstat [刷新延时 刷新次数]
 
### --- 例如:使用 vmstat 检测,每 1 秒刷新一次,共刷新 3[root@server11 ~]# vmstat 1 3               
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1140360   2124 534624    0    0     6     7   32   32  0  0 100  0  0
 0  0      0 1140336   2124 534624    0    0     0     0   98   87  0  0 100  0  0
 0  0      0 1140212   2124 534624    0    0     0     0   92   86  0  0 100  0  0// procs:进程信息字段:
~~~     r:等待运行的进程数,数量越大,系统越繁忙。
~~~     b:不可被唤醒的进程数量,数量越大,系统越繁忙。
~~~     memory:内存信息字段:
~~~     swpd:虚拟内存的使用情况,单位 KB。
~~~     free:空闲的内存容量,单位 KB。
~~~     buff:缓冲的内存容量,单位 KB。
~~~     cache:缓存的内存容量,单位 KB。
 
### --- swap:交换分区的信息字段:

~~~     si:从磁盘中交换到内存中数据的数量,单位 KB。
~~~     so:从内存中交换到磁盘中数据的数量,单位 KB。此两个数越大,证明数据需要经常在磁盘和内存之间交换,系统性能越差。
~~~     io:磁盘读写信息字段:
~~~     bi:从块设备读入数据的总量,单位是块。
~~~     bo:写到块设备的数据的总量,单位是块。此两个数越大,代表系统的 I/O 越繁忙。
~~~     system:系统信息字段:
~~~     in:每秒被中断的进程次数。
~~~     cs:每秒钟进行的事件切换次数。此两个数越大,代表系统与接口设备的通信非常繁忙。
~~~     CPUCPU 信息字段:
~~~     us:非内核进程消耗 CPU 运算时间的百分比。
~~~     sy:内核进程消耗 CPU 运算时间的百分比。
~~~     id:空闲 CPU 的百分比。
~~~     wa:等待 I/O 所消耗的 CPU 百分比。
~~~     st:被虚拟机所盗用的 CPU 占比。
二、dmesg 显示开机时内核检测信息
### --- dmesg 显示开机时内核检测信息
~~~     查看 CPU 信息

[root@server11 ~]# dmesg | grep CPU
[    0.000000] smpboot: Allowing 128 CPUs, 126 hotplug CPUs
[    0.000000] setup_percpu: NR_CPUS:5120 nr_cpumask_bits:128 nr_cpu_ids:128 nr_node_ids:1
[    0.000000] PERCPU: Embedded 35 pages/cpu @ffff91b33b600000 s104856 r8192 d30312 u262144
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=128, Nodes=1
[    0.000000]  RCU restricting CPUs from NR_CPUS=5120 to nr_cpu_ids=128.
[    0.002260] CPU: Physical Processor ID: 0
[    0.002261] CPU: Processor Core ID: 0
[    0.002559] mce: CPU supports 8 MCE banks
[    0.057765] smpboot: CPU0: Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz (fam: 06, model: 3a, stepping: 09)
[    0.057847] core: CPUID marked event: 'cpu cycles' unavailable
[    0.057848] core: CPUID marked event: 'instructions' unavailable
[    0.057849] core: CPUID marked event: 'bus cycles' unavailable
[    0.057849] core: CPUID marked event: 'cache references' unavailable
[    0.057850] core: CPUID marked event: 'cache misses' unavailable
[    0.057851] core: CPUID marked event: 'branch instructions' unavailable
[    0.057852] core: CPUID marked event: 'branch misses' unavailable
[    0.064149] Brought up 2 CPUs
[    2.225718] microcode: CPU0 sig=0x306a9, pf=0x1, revision=0x21
[    2.225759] microcode: CPU1 sig=0x306a9, pf=0x1, revision=0x21
~~~     查询第一块网卡信息

[root@server11 ~]# dmesg | grep eth0
[    3.497228] e1000 0000:02:01.0 eth0: (PCI:66MHz:32-bit) 00:0c:29:29:49:ea
[    3.497238] e1000 0000:02:01.0 eth0: Intel(R) PRO/1000 Network Connection

三、free 命令查看内存使用状态

### --- free 命令查看内存使用状态
### --- 选项:
~~~     -b: 以字节为单位显示
~~~     -k:  KB 为单位显示,默认就是以 KB 为单位显示
~~~     -m:  MB 为单位显示
~~~     -g:  GB 为单位显示

[root@localhost ~]# free [-b|-k|-m|-g]
[root@server11 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        181M        1.1G         17M        524M        1.4G
Swap:          4.0G          0B        4.0G
-/+ buffers/cache:   77576  547768
Swap:   524280     0  524280                                        // swap在虚拟机中不会被占用,因为主机访问量极少。在生产环境中会很重要,利用合理性非常重要
### --- 解释下这个命令:

### --- 第一行:
~~~     total 是总内存数,used 是已经使用的内存数,free 是空闲的内存数,
~~~     shared 是多个进程共享的内存总数,buffers 是缓冲内存数,cached 是缓存内存数。
~~~     默认单位是 KB。
### --- 第二行:
~~~     -/buffers/cache 的内存数,相当于第一行的 used-buffers-cached。
~~~     +/buffers/cache的内存数,相当于第一行的 free+buffers+cached。
### --- 第三行:
~~~     total 是 swap 的总数;used 是已经使用的 swap 数,free 是空闲的 swap 数。
~~~     默认单位是 KB。

四、查看 CPU 信息

### --- 查看CPU信息
~~~     CPU 的主要信息保存在/proc/cpuinfo 这个文件当中,我们只要查看这个文件,就可以知道 cpu的相关信息。命令如下:

[root@server11 ~]# cat /proc/cpuinfo 
processor   : 0
~~~     逻辑 CPU 编号
vendor_id       : GenuineIntel
~~~     CPU 制造厂商
cpu family      : 6
~~~     产品的系列代号
model           : 58
~~~     CPU 系列代号
model name      : Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz
~~~     CPU 系列的名字,编号,主频
stepping        : 9
#// cpu MHz         : 2394.649
~~~     实际主频
cache size      : 6144 KB
~~~     二级缓存
### --- 查看内存信息

[root@server11 ~]# cat /proc/meminfo

五、查看本机登陆用户信息

### --- 查看本机登陆用户信息
~~~     如果我们想要知道 Linux 服务器上目前已经登录的用户信息,
~~~     可以使用 w 或 who 命令来进行查询。先看看 w 命令,命令格式如下:

[root@server11 ~]# w
 21:20:50 up  5:50,  3 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.10.10.240     21:11    2.00s  0.07s  0.00s w
root     pts/1    10.10.10.240     21:20    3.00s  0.03s  0.03s -bash
root     pts/2    10.10.10.240     21:20    2.00s  0.02s  0.02s -bash
### --- 解释下这个命令的结果:

~~~     第一行其实和 top 命令的第一行非常类似,主要显示了系统当前时间,开机多久(up),有多少用户登陆(users),1 分钟、5 分钟、15 分钟前的平均负载(load average)。
~~~     第二行是项目的说明,第三行开始每行代表一个用户。这些项目是:
~~~     USER:登陆的用户名;
~~~     TTY:登陆终端;
~~~     FROM:从哪个 IP 地址登陆;
~~~     LOGIN@:登陆时间;
~~~     IDLE:用户闲置时间;
~~~     JCPU:指的是和该终端连接的所有进程占用的 CPU 运算时间。
~~~           这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间;
~~~     PCPU:是指当前进程所占用的 CPU 运算时间;
~~~     WHAT:当前正在运行的命令。
 
### --- who 命令比 w 命令稍微简单一点,也可以用来查看系统中已经登录的用户。命令如下:
~~~     用户名 登录终端    登录时间(登录来源 IP 地址)

[root@server11 ~]#  who
root     pts/0        2021-03-19 21:11 (10.10.10.240)
root     pts/1        2021-03-19 21:20 (10.10.10.240)
root     pts/2        2021-03-19 21:20 (10.10.10.240)

六、uptime 命令

### --- uptime 命令
~~~     uptime 命令的作用就是显示系统的启动时间和平均负载,也就是 top 命令的第一行。
~~~     其实 w 命令也能看到这一行的数据,具体原意使用哪个命令看个人习惯。命令如下:

[root@server11 ~]# uptime
 21:22:01 up  5:51,  3 users,  load average: 0.06, 0.03, 0.05
[root@server11 ~]# top                                          // 比较消耗资源 

七、查看系统与内核相关信息

### --- 查看系统与内核相关信息
~~~     选项:
~~~     -a: 查看系统所有相关信息;
~~~     -r: 查看内核版本;
~~~     -s: 查看内核名称。
### --- 我们使用 uname 命令查看内核的相关信息,命令如下:

[root@localhost ~]# uname [选项]
[root@server11 ~]# uname -a
Linux server11 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
### --- 查询系统内核版本
[root@server11 ~]# uname -r
 
~~~     查看系统的位数——如果我们想要判断当前系统的位数,
~~~     可以通过 file 命令来判断系统文件(主要是系统命令)的位数来推断系统的位数。命令如下:
[root@server11 ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c5ad78cfc1de12b9bb6829207cececb990b3e987, stripped// 很明显,当前系统是 32 位的。
### --- 查看系统的发行版本——如果我们想要查询当前 Linux 系统的发行版本,
~~~     可以使用“lsb_release -a”命令查看,命令如下:

[root@server11 ~]# lsb_release -a
[root@server11 ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
[root@server11 ~]# cat /etc/centos-release 
CentOS Linux release 7.5.1804 (Core) 
[root@server11 ~]# cat /etc/*release 

 

 

 

 

 

 

 

 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(56)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示