程序性能优化随笔,持续更新
绑定CPU
1.线程绑定CPU
int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize, const cpu_set_t *cpuset);
2.进程板顶CPU
sched_setaffinity
LINUX调优
1.设置设置 isolCPUs
说明: 减少同一CPU上其他程序带来的中断
2.禁止使用中断均衡服务
说明: 默认情况下系统会启动 irqbalance 服务用于周期性处理CPU事件,公平方式。然而在实时环境的部署中,应用程序通常是绑定到特定的CPU上,所以不需要irqbalance。此时,应该关闭
irqbalanceservice irqbalance stop
chkconfig irqbalance off
另外一种方式是只在使用隔离功能的CPU上禁用irqbalance,而在其余的CPU上继续使用irqbalance。这个设置可以通过 /etc/sysconfig/irqbalance来实现,即编辑 FOLLOW_ISOLCPUS 部分:
FOLLOW_ISOLCPUS=yes
这个设置使 irqbalance 只在没有设置隔离的CPU上生效。这个设置对于只有两个处理器的主机是没有效果的,但对双核主机是有效的。