美文网首页
性能相关杂记

性能相关杂记

作者: 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 可以自动装好




相关文章

  • 性能相关杂记

  • 性能相关

    测量应用启动时间 1、测量main函数之前的时间: 添加环境变量:在 Edit scheme -> Run -> ...

  • 【杂记】汉服相关

    关注汉服已经一年多了,也买过一些衣服,还有善良的汉服小姐姐温柔相待,慢慢也了解了一些关于汉服的事,简单整理一下给有...

  • Block相关杂记

    1.Block的特性和使用场景 Block 是一种闭包语法,将代码像对象一样传递,最重要的特性是,Block 可以...

  • java相关杂记

    命令行编译java文件、运行java: lit != null、!list.isEmpty()和list.size...

  • 网络相关杂记

    一般传输基本为X.25576 字节20IP20tcp536MSS(message segment s) udp t...

  • Android 高频知识点

    Android 相关性能优化Java 相关Kotlin 相关网络相关插件化图片相关Gradle 相关Flutter...

  • 爬虫性能相关

    背景知识 爬虫的本质就是一个socket客户端与服务端的通信过程,如果我们有多个url待爬取,只用一个线程且采用串...

  • Swift 性能相关

    为什么说 Swift 性能相比较于 Objective-C 会更加 好 ?为什么在编译 Swift 的时候这么慢 ...

  • 性能优化相关

    CSS相关 讲浏览器回流、重绘等内容的一片翻译文章:https://github.com/shanshanfei/...

网友评论

      本文标题:性能相关杂记

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