收集信息常用命令
vmstat 1 3
mpstat 1 3
iostat 1 3
top
load average 不要超0.7
sar 每10分钟抓取一次数据存储。现在缺省不运行了。
重新启用
cd /usr/lib/systemd/system
vim sysstat-collect.timer
systemctl deamon-reload
systemctl restart sysstat-collect.timer
Performanct Co-poilt
yum install pcp
systemctl restart sysstat-collect
systemctl enable sysstat-collect
yum install pcp-gui
pmchart 图形化工具
pminfo 查看可采集的数据
pminfo -dt proc.nprocs 查看参数的意思
pmval proc.nprocs 命令行方式查看
pmval -t 2 mem.freemem 每隔2S输出一次
cd /var/log/pcp
pmval -a 20210821.15.31.0 mem.freemem 查看历史记录
sar -f sa21 -p CPU
sar -f sa21 -d 磁盘
-q
-r 内存
-n DEV 网卡
当前运行状态
cd /proc/
cd /proc/sys
cd /proc/sys/kernel 内核
cd /proc/sys/vm 内存相关
cat swappiness 查看当前值
echo 40 > swappiness 调整
以上是临时调,永久调,编辑
vi /etc/sysctl.conf
vm.swappiness = 20
sysctl -p 生效
sysctl -a 查看所有参数
echo 1 > icmp_echo_ignore_all 禁止ping
man -K drop_caches 查参数的含义
/sys 目录一般与驱动相关
lsmod 加载的内核模块
lsmod |grep kvm
modinfo kvm kvm参数
vi /etc/modeprobe.d/kvm.conf
options kvm ignore
modprobe
限制服务的资源占用
通过pam_limt模块 /etc/security/limit.conf
student hard max-login 3
保存退出 立刻生效
通过cgroup 限制服务的资源占用
md5sum /dev/urandom
cp /usr/lib/systemd/system/sshd.service md5sum.service
vi md4sum.service
[Unit]
Description=MD5 Demo
[Service]
ExecStart=/usr/bin/md5sum /dev/urandom
CPUQuota=40%
MemoryLimit=100M
[Install]
WantedBy=multi-user.target
CPUQuota 最多使用多少
MemoryLimit 内存限制
CPUShare 可以实现不忙的时间可以全部使用,繁忙时限制使用
为systemd unit限制
tuned 调优
tuned-adm list
cd /usr/lib/tuned
tuned-adm profile network-latency
自定义调优
[main]
include=latency-performance
[sysctl]
vm.swappiness=30
在lantency-performance基础上自定义修改。
SystemTap配置内核模块进行系统底层分析
- SystemTap可以简易的探索测量kernel中任意部件
- Kernel开发者通过kprobe在kernel功能前后加入测试代码
- SystemTap需要gcc, kernel-debuginfo, kernel-devel软件支持
- stap命令将*.stp脚本文件编译为kernel模块,通过staprun命令运行
yum install systemtap
stap-prep
debuginfo-install kernel
cd /usr/share/systemtap/example
stap -v -p 4 -m nettop nettop.stp 编译模块
iotop