查看系统整体负载
[root@thinkpad ~]# w
21:32:32 up 3:59, 1 user,
load average: 0.08, 0.02, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.247.1 21:32 0.00s 0.15s 0.09s w
第一行:时间、系统运行时间、登陆用户数、
平均负载
下面的信息,告诉管理员有哪些用户登陆,登陆设备是什么,来自哪个IP,登陆时间,空闲时间,当前终端的所有进程占用的CPU时间,当前命令占用的CPU的时间。最需要关注的是第一行load average 后面的三个数值。
第一个值表示 1 分钟内系统的平均负载值,1分钟之内有多少个进程和任务在使用cpu,计算,排队等
第二个值表示 5 分钟内系统的平均负载值
第三个值表示 15分钟内系统的平均负载值
1分钟内的反应的比较真实,第一个数值比较精准的反应当前CPU的情况。
平均负载值代表单位时间段内 CPU 活动进程数。CPU在某一时刻,只能给一个任务或进程提供服务,其他的进程按优先级大小排队,然后进行CPU进行计算。值越大说明服务器压力越大。一般情况下这个值不超过 CPU 数量就没有关系。如果 CPU 数量为8,值小于8就没有问题。
如果超过了,那么最后的进程则需要排队等待处理,说明负载偏高,
负载过高,就要想办法查看什么进程引起的负载高,要调整优化。top看哪个进程排在最上面,最上面的说明耗费cpu比较多,针对那个进程去优化。比如mysql占用cpu高,那么就去查看mysql的慢查询日志,看看是不是可以通过优化sql语句来提升mysql的查询效率,这样就降下来了。 如果即使调优了还是高,说明cpu不够用啦,只能增加机器扩容。
#uptime 查看系统负载
21:49:22 up 4:16, 1 user, load average: 0.00, 0.00, 0.00
返回结果,和 w 返回信息的第一行一致。
#top 也可以查看系统负载
查看服务器cpu情况
[root@thinkpad ~]# cat /proc/cpuinfo
processor : 0 processor 处理器,逻辑CPU个数0单核,1双核.......7=8核
vendor_id : GenuineIntel
cpu family : 6
model : 78
model name : Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
stepping : 3
cpu MHz : 2400.059
cache size : 3072 KB cache 缓存
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 22
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 nx rdtscp constant_tsc up arch_perfmon pebs bts tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 sse4_1 sse4_2 movbe popcnt aes hypervisor 3dnowprefetch ida arat epb xsaveopt pln pts dts
bogomips : 4800.11
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
/proc/cpuinfo 记录了cpu的详细信息。目前市面上的服务器很多是2颗4核cpu,在Linux看来,就是8个cpu。flags 如果有 ht 说明支持超线程技术。
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
[root@wangbin ~]# w
【显示两个终端登陆】
16:10:51 up 11:52, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 04:19 23:45 0.18s 0.18s -bash 【虚拟机登陆信息】
root pts/0 192.168.247.1 15:47 0.00s 0.28s 0.02s w 【远程连接工具登陆信息】
[root@wangbin ~]# skill -9 tty1
【关闭虚拟机终端】 skill , 不是 kill
[root@wangbin ~]# w
16:11:16 up 11:52, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.247.1 15:47 0.00s 0.30s 0.02s w