|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:每秒钟进行的事件切换次数。此两个数越大,代表系统与接口设备的通信非常繁忙。
~~~ CPU:CPU 信息字段:
~~~ 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
分类:
cdv006-system
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」