美文网首页
性能相关杂记

性能相关杂记

作者: cloudFans | 来源:发表于2022-08-14 09:16 被阅读0次
    
    linux7 默认安装sysstat
    linux8不默认安装
    yum install -y sysstat
    linux8将sysstat计划任务放在systemd的timer
    
    vmstat 1 刷新一次
    vmstat 1 3 刷新3次 ,每隔1秒
    
    mpstat是cpu子系统
    mpstat 1 3 看cpu负载
    mpstat -P all 能看到内核的负载
    
    iostat -x 看到更详细,能看到队列
    
    top 里load average要除以cpu数,在0.7以下正常
    
    top 按shift +m 按内存 排序
    按shift + h 按cpu排序
    
    lscpu有几颗cpu,
    
    sar查看系统历史负载
    
    更强大的工具:
    yum install -y pcp-gui
    pmcd pmlogger
    pmchart
    pmval -t 2 mem.freemem
    pmval info 可查看能采集的子系统的内容
    pminfo -dt proc.nprocs 查看参数说明
    pmval proc.nprocs
    cd /var/log/pcp/pmlogger
    查看历史数据库
    pmval -a 20210618.04. kernel.??? 可查看到每隔1秒的系统负载
    通过以上工具可查看历史死机时间点前后的历史信息
    
    
    如何调优:
    /proc /sys 这2个目录都是内存信息,关机后就没了,是伪目录 ,是挂载到内在的目录
    搞清楚这2个目录 就已经是大神了
    
    cd /proc
    有所有进程的情况
    /proc/sys 目录是内核的所有可调节项
    cd /proc/sys/vm是内存参数
    cat swappiness查看swap压力值设置
    修改,只能echo:
    echo 10> swappiness查看swap压力值设置
    cat swappiness,越小越不会把
    重启后会回归原值
    永久生效:使用sysctl工具
    sysctl -a 列出所有内核可调节项
    sysctl -a |grep swap   
    得到:vm.swappiness=10,就是刚才临时调整的值
    
    sysctl -w vm.swappiness=20 也是临时修改
    永久修改:vim /etc/sysctl.conf
    添加修改键值:
    vm.swappiness=50
    保存退出
    sysctl -p 永久生效
    
    
    modinfo st  是硬件驱动
    mod提供各种模块功能和驱动
    
    如何限制服务的资源占用:
    给用户
    给服务
    给进程
    限制CPU\内存\io
    
    经典的通过 pam_limit 和 /etc/security/limits.conf
    通过 cgroup来做资源,对systemd
    
    
    cd /etc/pam.d
    password-auth
    system-auth
    diff password-auth system-auth 默认是一样的
    
    session required pam_limit.sso
    man 8 pam_limit
    
    
    man -k systemd
    man systemd.resource-control
    可以看到不同的限制
    
    写一个简单的程序耗尽资源
    cp /usr/lib/systemd/system/sshd.service /etc/systemd/system/load.service
    vi $_
    
    
    which md5sum
    /usr/bin/md5sum
    修改ExecStart=/usr/bin/md5sum /dev/urandom
    删除其他
    
    systemctl daemon-reload
    systemctl start load
    top查看,可以看到某颗cpu 100%
    
    修改load.service进行限制
    CPUAccounting=yes
    CPUQuarto=50%
    
    systemctl daemon-reload
    systemctl restart load
    top可以看到进程最高到50%
    
    
    tuned-adm limits
    yum list|grep tuned
    
    yum install -y oracle-profile
    tuned-adm list可以看到多了oracle
    cd /usr/lib/tuned可以看到安装的配置集
    vim oracle-profile
    可以看到oracle服务器的内核设置
    
    cd /usr/lib/tuned
    mkdir demo
    cd demo
    vim demo.profile
    [main]
    include=latency-performance
    [sysctl]
    vm.swappiness=70
    [disk]
    elevator=none 调整电梯算法
    保存退出
    tuned-adm profile latency-performance
    cat /proc/sys/vm/swappiness
    发现还没改过来
    因为刚才手工修改了/etc/sysctl.conf,这个文件优先级较高
    
    可以把这些调优配置成profile,就可以共享重用了
    
    systemtap配置内核模块
    yum install -y systemtap
    自带了很多脚本,可以编译成内核模块,用systemtap来运行,可以进行kernal组件测试
    进行性能分析
    需要gcc,nernel-debuginfo,kernel-devel软件运行
    stap命令.stp脚本文件编译为kernel
    这个工具需要订阅
    注:lab tracing-diagnose start
    
    stap-prep 可以自动装好
    
    
    
    
    

    相关文章

      网友评论

          本文标题:性能相关杂记

          本文链接:https://www.haomeiwen.com/subject/aumkgrtx.html