cpu调优

1、大内存页
2、数据刷写频率 忍受多长时间丢失 越长越好,脏数据有可能把内存耗尽的危险
3、尽可能不把内存数据放到swap中
当物理内存使用到了6成有可能就开始使用swap了
跑tomcat 、hadoop、python java 内程序尽量不要很早使用swap
4、numa专业设备才会有 none uniform memory access 每颗cpu 都有自己专用的内存空间,避免加锁解决征用。每个内存段叫一个节点(node)
5、进程完成cpu绑定亲源性,降低频繁的上下文切换,nginx进程树少于核心数2,留2核给系统使用 ### cpu亲源性
6、把所有中断隔离到留的2颗cpu上
7、进程优先级调整 ####
cpu亲源性:
# taskset -p mask pid
mask为: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

# ps -ef | grep nginx
root 15063 1 0 Jun22 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
nginx 15064 15063 0 Jun22 ? 00:00:00 nginx: worker process

调整nginx亲源性:
# taskset -p 0000,0001,0010,0011 15064
pid 15064’s current affinity mask: ffff
pid 15064’s new affinity mask: 11
# taskset -p -c 1-4,7,9 15064
pid 15064’s current affinity list: 0,4
pid 15064’s new affinity list: 1-4,7,9

查看程序运行的cpu:
# ps axo psr,comm | grep nginx
5 nginx
10 nginx

配置cpu隔离:
/etc/grub.conf
kernel .. … isolcpus = cpu number,…,cpu number
isolcpus=20,21,22,23

定义中断:
echo cpunumber,… > /proc/irq/#/sm_affinity
查看各cpu中断次数:
# cat /proc/interrupts
例如:
# echo 1 > /proc/irq/62/smp_affinity 隔离中断
这里使用的cpu应该为isolcpus中定义cpu集合以外的cpu

调度类别(调整优先级):
SCHED_FIFO,SCHED_RR: realtime 1-99队列由SCHED_FIFO 同一级别的进程由 SCHED_RR调度
chrt -f /path/to/program/ arguments
chrt -r /path/to/program/ arguments
SCHED_NORMAL:动态优先级 100-139 用户空间进程
renice,nice

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值