cpu、内存、磁盘、网络等问题排查
2023-09-27 14:21:15 时间
#一般情况下使用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 看网络负载
###################################################
相关文章
- IIS Express内存溢出错误
- 32位汇编基础_内存_每个应用进程都会有自己独立的4GB内存空间
- 软件事务内存导论(九) 集合与事务
- 剖析Disruptor:为什么会这么快?(三)揭秘内存屏障
- Linux内存分析
- 遇到内存泄漏
- Objective-C内存管理教程和原理剖析(四)
- iOS开发ARC内存管理技术要点--ARC主要提供了4种修饰符,他们分别是:__strong,__weak,__autoreleasing,__unsafe_unretained
- 数据结构中的堆栈和内存管理中的堆栈有什么区别和联系
- zabbix使用自定义脚本监控内存
- 什么是闭包,闭包造成的内存泄露如何解决
- JBOSS最大连接数配置和jvm内存配置
- 操作系统 | 【三 内存管理】知识点及例题
- Redis基础:特点(内存运行、原子性、持久化)、5种基本数据类型与3种特殊数据类型、redis命令、发布订阅机制、事务(单条命令原子性事务不是原子性)、数据备份与恢复、安全
- WebView内存泄露的解决方案
- 内存管理中的三种地址
- 一点一滴探究 JVM 之内存结构