cpu、内存、磁盘、网络等问题排查
#一般情况下使用root或者oracle用户查都可以。 # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 --查看物理CPU个数 [oracle@enmo ~]$ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 0 --查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq --查看逻辑CPU的个数 [oracle@enmo ~]$ cat /proc/cpuinfo| grep "processor"| wc -l 1 [oracle@enmo ~]$ --查看CPU信息(型号) [oracle@enmo ~]$ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 1 Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz [oracle@enmo ~]$ --查看内 存信息 [oracle@enmo ~]$ cat /proc/meminfo MemTotal: 2035908 kB MemFree: 1544564 kB Buffers: 31728 kB Cached: 299544 kB SwapCached: 0 kB Active: 89152 kB Inactive: 293792 kB Active(anon): 54944 kB Inactive(anon): 396 kB Active(file): 34208 kB Inactive(file): 293396 kB Unevictable: 4444 kB Mlocked: 4444 kB SwapTotal: 4192956 kB SwapFree: 4192956 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 56116 kB Mapped: 30028 kB Shmem: 528 kB Slab: 75504 kB SReclaimable: 29204 kB SUnreclaim: 46300 kB KernelStack: 992 kB PageTables: 6800 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 5210908 kB Committed_AS: 180624 kB VmallocTotal: 34359738367 kB VmallocUsed: 157976 kB VmallocChunk: 34359574176 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 8192 kB DirectMap2M: 2088960 kB DirectMap1G: 0 kB [oracle@enmo ~]$
1.物理cpu数:主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id)
2.cpu核数:单块CPU上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores)
3.逻辑cpu数:简单来说,它可使处理器中的1颗内核,如2颗内核那样在操作系统中发挥作用。
这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻辑cpu=物理CPU个数×每颗核数x2。
总核数 = 物理CPU个数 × 每颗物理CPU的核数。总逻辑CPU数 = 物理CPU个数 ×每颗物理CPU的核数 × 超线程数。
所以这算双核的。
CPU排查
ps aux|sort -nr -k3|head -10
排查哪个进程占的CPU多。【这个比例应该是 单核的】
多核CPU的资源是否分配平衡。有没有某个核打满的情况。
mpstat -P ALL 1
查看所有CPU的,情况。 【%dile即为空闲CPU比例】 【%iowait 即为%wa】
内存排查
free -m 看整体内存使用情况。【udp机器的tcpup比较占用内存】
ps aux|sort -nr -k4|head -10
磁盘 / IO 排查
iotop 【root 权限】
查看具体进程的IO。
iostat -dm 1
查看各个磁盘的IO情况。
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read: 读取的总数据量;
kB_wrtn: 写入的总数量数据量;这些单位都为Kilobytes。
iostat -dx 1|awk '{print $1"\t"$10"\t"$11"\t"$12}'
查看各个磁盘的await 和 util。
网络排查
iftop 看网络负载
###################################################
igoodful@qq.com