10.1 使用w查看系统负载
w命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
- date 也可以查看时间
- tty 本地登录 1-6 6个终端
- pts 远程登录 可以看IP
- load average 系统负载 1分钟 5分钟 15分钟 单位时间段内使用CPU活动的进程有多少个
- 一般不超过逻辑CPU数量为合适,如果
- cat /proc/cpuinfo 查看processor数量
[root@axiang-03 ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
stepping : 9
microcode : 0x12
cpu MHz : 2493.911
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase smep xsaveopt
bogomips : 4988.77
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
processor : 1 最后一个processor编号+1,即这里代表有两个CPU
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
stepping : 9
microcode : 0x12
cpu MHz : 2493.911
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase smep xsaveopt
bogomips : 4988.77
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
10.2 查看系统瓶颈 vmstat
vmstat命令的含义为显示虚拟内存状态(“Viryual Memor Statics”),它可以报告关于进程、内存、I/O等系统整体运行状态。
vmstat用法
vmstat 1 5 //每1秒显示一次,显示5次后命令结束
说明
-
procs 进程信息
- r:表示CPU占用,长期大于CPU核心数则说明CPU不够用了
- b:表示I/O、内存等资源占用,如果长期大于1则需要关注
-
memory 内存信息
- swpd:表示用到交换分区的内存量
- free:当前内存空闲量
- buff:缓冲大小
- cache:缓存大小
-
swap 内存交换情况
- si:由交换区写入到内存的数据量
- so:有内存写入到交换区的数据量
-
io 磁盘使用情况
- bi:从块设备读取数据的量(读磁盘)
- bo:从块设备写入数据的量(写磁盘)
-
system 中断次数
- in:设备中断次数
- cs:上下文切换次数
-
CPU 状态
- us:用户下花费cpu时间比
- sy:系统花费cpu时间比
- id:空闲时间比
- wa:I/O等待占用cpu时间比
- st:被偷CPU (一般为0,不用关注)
10.3 top命令
top命令可以实时动态地(每3秒变一次)查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。其特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放在最前面,以确认是哪个进程占用内存。
top常见选项
-b:批量处理模式
-c:显示详细进程信息
-bn1:静态显示所有进程(该法多用于shell脚本)
[root@axiang ~]# top
top - 15:07:20 up 17 min, 1 user, load average: 0.04, 0.03, 0.05
Tasks: 92 total, 2 running, 90 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.5 sy, 0.0 ni, 98.8 id, 0.2 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 1008420 total, 745544 free, 109820 used, 153056 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 731932 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2173 root 20 0 0 0 0 S 2.6 0.0 0:01.45 kworker/0:0
507 root 20 0 302712 6192 4772 S 2.0 0.6 0:08.03 vmtoolsd
2178 root 20 0 157576 2156 1536 R 0.7 0.2 0:00.11 top
1 root 20 0 128092 6696 3948 S 0.3 0.7 0:01.89 systemd
9 root 20 0 0 0 0 S 0.3 0.0 0:03.14 rcu_sched
...
- 在top状态下(按q退出),按shift+m可以按内存使用大小进行排序(默认以CPU使用占比排序),按shift+p恢复按CPU使用占比排序,,按数字1可以显示每个CPU的状态。
说明:
- 第一行是负载信息
- 第二行是进程信息
- 第三行是CPU使用信息
- 第四行是内存使用信息
- 第五行是交换区使用信息
- 最下面是进程详细信息:
- PID:表示进程在系统中的id号,可配合kill命令结束某进程
- RES:表示进程所用物理内存大小(单位:KB)
- %MEM:表示内存使用百分比(单位:KB)
10.4 sar命令
sar命令是Linux下系统运行状态统计工具,它将指定的操作系统状态(如,平均负载,网卡流量,磁盘状态,内存使用等)计数器显示到标准输出设备。它不同于其他系统状态监控工具的地方在于,它可以打印历史信息,可以显示从零点开始到当前时刻的系统状态信息。 使用‘yum install -y sysstat’安装该命令。初次使用sar命令(不加选项、参数)会报错,原因是sar命令还没有生成相应的数据库文件。其数据库保存在‘/var/log/sa/’目录下,该目录下存放两种文件,分别以‘sa日期’&‘sar日期’的格式命名(区别是sar文件在第二天生成,可以使用cat命令查看;sa文件实时<每个整‘10’分钟更新一次>生成,是二进制文件,无法查看),最多保留一个月
- sar -n DEV 1 5 查看网卡流量
- sar -n DEV -f [file]:从指定文件提取报告
[root@axiang ~]# sar -n DEV 1 3 查看网卡事业能够情况
Linux 3.10.0-514.el7.x86_64 (axiang.localdomain) 2017年07月14日 _x86_64_ (2 CPU)
15时22分37秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
15时22分38秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时22分38秒 ens33 1.00 1.00 0.06 0.06 0.00 0.00 0.00
15时22分38秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
15时22分39秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时22分39秒 ens33 0.99 0.99 0.06 0.40 0.00 0.00 0.00
15时22分39秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
15时22分40秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时22分40秒 ens33 1.00 1.00 0.06 0.40 0.00 0.00 0.00
平均时间: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
平均时间: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均时间: ens33 1.00 1.00 0.06 0.29 0.00 0.00 0.00
[root@axiang ~]# sar -n DEV -f /var/log/sa/sa14
Linux 3.10.0-514.el7.x86_64 (axiang.localdomain) 2017年07月14日 _x86_64_ (2 CPU)
15时20分02秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
15时30分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时30分01秒 ens33 0.28 0.21 0.02 0.02 0.00 0.00 0.00
平均时间: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均时间: ens33 0.28 0.21 0.02 0.02 0.00 0.00 0.00
说明:
- rxpck/s:表示接收数据(包)的个数
- txpck/s:表示发送数据(包)的个数
- rxKB/s:表示接收的数据量
- txKB/s:表示发送的数据量
- 当rxpck/s的值大于4000或者rxKB/s的值大于5000时则可能是在被攻击,,需配合抓包工具进一步确认
- sar -q 查看系统负载(配合-f选项使用,查看历史负载)
[root@axiang ~]# sar -q
Linux 3.10.0-514.el7.x86_64 (axiang.localdomain) 2017年07月14日 _x86_64_ (2 CPU)
15时20分02秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
15时30分01秒 0 109 0.00 0.05 0.09 0
平均时间: 0 109 0.00 0.05 0.09 0
- sar -b 查看磁盘信息
[root@axiang ~]# sar -b 1 2
Linux 3.10.0-514.el7.x86_64 (axiang.localdomain) 2017年07月14日 _x86_64_ (2 CPU)
15时39分18秒 tps rtps wtps bread/s bwrtn/s
15时39分19秒 0.00 0.00 0.00 0.00 0.00
15时39分20秒 0.00 0.00 0.00 0.00 0.00
平均时间: 0.00 0.00 0.00 0.00 0.00
10.5 nload命令
[root@axiang-02 ~]# yum install -y nload ^C
[root@axiang-02 ~]# nload
- 在安装此包前需要先安装yum扩展源:epel-release。
- 在该界面显示系统网络动态信息,可使用方向键在不同网卡之间进行切换,按q键退出,根据实时网速和总网速的比较可以评估网络状态