IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

利用taskset有效控制cpu资源

架构研究室 2009-11-11 23:48:48 累计浏览 2,980 次
本机暂存

    常常感觉系统资源不够用,一台机子上跑了不下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资源;

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. Linux如何统计进程的CPU利用率 (累计阅读 16,308)
  2. 我的 RHCA 之路 (累计阅读 14,013)
  3. Linux内存点滴 用户进程内存空间 (累计阅读 13,232)
  4. 给程序员新手的一些建议 (累计阅读 13,090)
  5. Linux 性能监控、测试、优化工具 (累计阅读 13,013)
  6. 关于linux内存free的一些事情 (累计阅读 12,869)
  7. ps - 按进程消耗内存多少排序 (累计阅读 12,690)
  8. Google怎么用linux (累计阅读 12,582)
  9. Linux Used内存到底哪里去了? (累计阅读 11,868)
  10. find命令的一点注意事项 (累计阅读 11,867)