利用taskset有效控制cpu资源
常常感觉系统资源不够用,一台机子上跑了不下3个比较重要的服务,但是每天我们还要在上面进行个备份压缩等处理,网络长时间传输,这在就很影响本就不够用的系统资源;
这个时候我们就可以把一些不太重要的比如copy/备份/同步等工作限定在一颗cpu上,或者是多核的cpu的一颗核心上进行处理,虽然这不一定是最有效的方法,但可以最大程度上利用了有效资源,降低那些不太重要的进程占用cpu资源;
查看系统下cpu信息:#cat /proc/cpuinfo
taskset就可以帮我们完成这项工作,而且操作非常简单;
该工具系统默认安装,rpm包名util-linux
#taskset --help
taskset (util-linux 2.13-pre7)
usage: taskset [options] [mask | cpu-list] [pid | cmd [args...]]
set or get the affinity of a process
-p, -pid operate on existing given pid
-c, -cpu-list display and specify cpus in list format
-h, -help display this help
-v, -version output version information
举例:
1、开启一个只用0标记的cpu核心的新进程(job.sh是你的工作脚本)
#taskset -c 0 sh job.sh
2、查找现有的进程号,调整该进程cpu核心使用情况(23328举例用的进程号)
#taskset -pc 0 23328
pid 23328\'s current affinity list: 0-3 #0-3表示使用所有4核进行处理
pid 23328\'s new affinity list: 0 #调整后改为仅适用0标记单核处理
3、可在top中进行负载check
最后你可以在你的工作脚本中加入该指令来合理利用现有的cpu资源;
建议继续学习:
- Linux如何统计进程的CPU利用率 (阅读:14297)
- 解剖CPU (阅读:8012)
- 查看 CPU, Memory, I/O and NetFlow (阅读:6413)
- 如何查看Linux 硬件配置信息 (阅读:5842)
- Linux下进程绑定多CPU运行 (阅读:5747)
- 从Java视角理解CPU上下文切换(Context Switch) (阅读:5422)
- Linux下的CPU使用率与服务器负载的关系与区别 (阅读:5184)
- Linux下CPU的利用率 (阅读:4859)
- 写Java也得了解CPU缓存 (阅读:4502)
- 进程运行于不同的 CPU 核 (阅读:4383)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Michael Field 来源: 架构研究室
- 标签: cpu taskset
- 发布时间:2009-11-11 23:48:48
- [68] Go Reflect 性能
- [68] 如何拿下简短的域名
- [67] Oracle MTS模式下 进程地址与会话信
- [62] IOS安全–浅谈关于IOS加固的几种方法
- [61] 图书馆的世界纪录
- [60] 【社会化设计】自我(self)部分――欢迎区
- [58] android 开发入门
- [56] 视觉调整-设计师 vs. 逻辑
- [49] 给自己的字体课(一)——英文字体基础
- [48] 读书笔记-壹百度:百度十年千倍的29条法则