• linux性能分析(三)查看系统的性能指标


    一  查看系统的性能指标

    1. 这里'简略'的将系统'监控指标'分为:cpu、memory、disk、network、os '五大'
    2. 强调: 这'五类'命令的输出与'/proc'虚目录下的'文件信息'强相关
    3. 说明: 后续专门讲解'这五大类''系统'命令,尽可能'全面罗列'每个工具的使用'场景'
    4. 补充: 有些命令是'综合'命令,刻意查看'多种类型'各种'维度'的指标信息
    5. 本系列暂时只考虑'操作系统'的性能指标,'不考虑'相关中间件的性能指标

    IAAS 虚拟机 CPU计算密集型、IO密集型、数据密集型 

    ++++++++++++++++++  "<<性能之巅>>"  ++++++++++++++++++

    1. 类比: '人''系统'
    2. 1、人的组成: 计算机系统的组成
    3. 2、衡量'人'健康状况: 系统各项'指标'

    ①  性能分析的生命周期

    ②  CPU

    1. lscpu、top、nproc、cpulimit、mpstat、'/proc/cpuinfo 文件'
    2. lscpu : 显示CPU '架构' 的有关信息
    3. mpstat : 显示'变化'的CPU数据

    ③  内存

    1. free、top、htop、atop、vmstat、memstat、ps、'/proc/meminfo 文件'
    2. ps aux --sort -rss
    3. 内存相关的'内核'参数 : '/proc/sys/vm/drop_caches'
    4. 动态查看CPU和内存的占用率: ps -ef | grep '进程名' --> 获取 'pid' --> top -p $pid
    5. 查看内存占用'前10名'的程序: ps aux|sort -k4,4nr|head -n 10
    6. cat /proc/$pid/status --> 'VmSize对应的值就是物理内存占用'

    linux常用内存相关高级命令    linux下查看某一进程占用的内存 

    free -m 各输出说明      free -m 详解    free 各选项参数   腾讯 free -m 面试

    buffer 和 cache的区别

    ④  磁盘

    1. df: 用来显示'磁盘空间''使用''挂载信息'等情况 --> 常用 'df -hT'
    2. du: 显示'对应'目录下每个'子目录和文件''磁盘空间'使用量 --> 常用 'du -sh'
    3. 补充: ls -lsh /path/to/file
    4. fdisk、parted 、mkfs、mount、umount --> '磁盘分区''格式化文件系统''挂载''卸载'
    5. lsblk: 列出所有'可用块设'备的信息,以及他们之间的'依赖'关系
    6. +++++++++++++ "LVM 逻辑卷" +++++++++++++
    7. pvcreate、vgcreate、lvcreate --> '物理卷''卷组''逻辑卷'
    8. pvdisplay、vgdisplay、lvdisplay --> 查看 'lvm' 状态信息
    9. lvremove、vgremove、pvremove --> 删除 '逻辑卷'
    10. sync: 强制把'文件系统buff'的内容写入'系统磁盘'
    11. 思考: 如何查找'大 [大的标准是什么]'文件?
    12. +++++++++++++ "innode" +++++++++++++
    13. 场景:由于每个文件都必须有一个inode,因此有可能发生'inode已经用光',但是硬盘'还未存满'情况
    14. 注意: 避免产生'大量'的小文件,导致把'innode'系统资源耗尽
    15. 需求1: 只列出文件的'inode number' --> stat --format=%i wzj.txt
    16. 需求2: 显示'文件系统inode'的使用信息 --> df -i 分区、'tune2fs -l'ls -il

    sync命令 

    1. +++++++++++++ "磁盘I/O" +++++++++++++
    2. 衡量'磁盘性能''基本'指标:利用率、饱和度、IOPS、吞吐量、响应时间
    3. sar: sar -d -p 1 2 --> 查看当前'磁盘'性能
    4. iostat: iostat -d -x 1 --> 只提供了观察磁盘的'整体I/O'性能数据
    5. pidstat: pidstat -d 1 --> 查看'哪些进程'行正在读写磁盘
    6. iotop: 刻意按'I/O'大小对进程进行'排序'
    7. fio: 专门测试 'iops' 的命令,对磁盘进行'压力'测试
    8. dd: dd 命令只能'大致 [复制原理]'测出磁盘的 IO 性能,不是非常准确
    9. 案例: time dd if=/dev/zero of=test.file bs=1G count=2 oflag=direct
    10. vmstat: vmstat 2 '每2s' -w '宽输出模式' 80 -t '将时间戳附加到每一行' -d '磁盘'

    查看系统磁盘I/O的情况     sar命令查看磁盘     磁盘压力测试   vmstat

    ⑤  网络

    1. ++++++++++++++++ "网络配置类" ++++++++++++++++
    2. 1、ip、ifconfig、route、nmcli、hostname、ifdown、ifup、ethtool、netcat、nmtui 图形
    3. ++++++++++++++++ "网络测试类" ++++++++++++++++
    4. 2、ping、tcping、traceroute、mtr、curl、wget、nc、telnet、dig、nslookup、nmap、arp
    5. 说明: '网络'联通性、'域名'解析、'端口'联通性、'远程'连接
    6. 补充: scp、rsync、ssh
    7. ++++++++++++++++ "网络抓包类" ++++++++++++++++
    8. 3、tcpdump、wireshark、tshark
    9. 备注: '网络抓包'相关
    10. ++++++++++++++++ "网络防火墙规则类" ++++++++++++++++
    11. 4、iptables、ipset
    12. 备注: 查看和设置'防火墙'规则
    13. 反弹shell:控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端

    ipset 和 iptables 配合使用  iptables+dnsmasq+ipset联合使用配置方法

    netcat  反弹shell   反弹shell概念

    ⑥  OS

    1. 涉及: '端口''进程''线程''pid''TCP状态''负载''文件描述符'
    2. [1]、netstat、ss 'TCP状态'
    3. 1、netstat -s --> '统计信息'
    4. 2、netstat -antlupe | grep '端口' --> '端口占用'
    5. 3、netstat -n | awk '/^tcp/{++s[$NF]} END { for (a in s) print a, s[a] }'
    6. [2]、pid '相关' 信息
    7. ps、lsof、pstree、pidof、pidstat
    8. 场景: df -hT 发现'删除了',但是'lsof'查看实际还'占用'
    9. [3]、负载
    10. uptime、top、w
    11. [4]、流量
    12. vnstat、iftop
    13. [5]、'调试' 追踪
    14. strace、gdb、perf
    15. [6]、'java' 相关
    16. jps、jstack、jmap、jhat、pstack
    17. 遗留: '软和硬'中断和'网络、磁盘 I/O等待'、上下文切换

    awk 统计 scoekt 状态分析      conntrack 连接跟踪   conntrack为什么会崩溃

  • 相关阅读:
    记录一些涉及到界的题
    PHP基础笔记-NO.1
    归一化原来这么重要!深入浅出详解Transformer中的Normalization
    数组的常用方法
    基于K8S部署filebeat及logstash并输出到java程序中
    色彩的基础知识——适用于camera tuning
    【RocketMQ系列十四】RocketMQ中消息堆积如何处理
    超聚变服务器关闭超线程CPU的步骤(完整版)
    将字符串转换为小写形式字符串.casefold()
    搜索效率提升200%的高级指令及其使用技巧(百度篇)
  • 原文地址:https://blog.csdn.net/wzj_110/article/details/133933703