一,使用taskset充分利用多核cpu,让cpu的使用率均衡到每个cpu上

#taskset

-p, 设定一个已存在的pid,而不是重新开启一个新任务

-c, 指定一个处理,可以指定多个,以逗号分隔,也可指定范围,如:2,4,5,6-8。

1,切换某个进程到指定的cpu上

taskset -cp 3 13290

2,让某程序运行在指定的cpu上

taskset -c 1,2,4-7 tar jcf test.tar.gz

test

需要注意的是,taskset -cp 3 13290在设定一个已经存在的pid时,子进程并不会继承父进程的,

因此像tar zcf xxx.tar.gz

xxx这样的命令,最好在启动时指定cpu,如果在已经启动的情况下,则需要指定tar调用的gzip进程。

二,使用nice和renice设置程序执行的优先级

格式:nice [-n 数值] 命令

nice 指令可以改变程序执行的优先权等级。指令让使用者在执行程序时,指定一个优先等级,称之为 nice 值。

这个数值从最高优先级的-20到最低优先级的19。负数值只有 root 才有权力使。

一般使用者,也可使用 nice 指令來做执行程序的优先级管理,但只能将nice值越调越高。

可以通过二种方式来给某个程序设定nice值:

1,开始执行程序时给定一个nice值,用nice命令

2,调整某个运行中程序的PID的nice值,用renice命令

通常通过调高nice值来备份,为的是不占用非常多的系统资源。

例:

nice -n 10 tar zcf test.tar.gz

test

由nice启动的程序,其子进程会继承父进程的nice值。

查看nice值

# nice -n -6 vim test.txt &

# ps -l

F S UID PID PPID C PRI NI ADDR SZ

WCHAN TTY TIME CMD

4

S 0 19427 2637 0 75 0 –

16551 wait pts/6 00:00:00 bash

4

T 0 21654 19427 0 71 -6 – 23464 finish

pts/6 00:00:00 vim

renice调整运行中程序的nice值

格式:renice [nice值] PID

三,使用ulimit限制cpu占用时间

注意,ulimit 限制的是当前shell进程以及其派生的子进程。因此可以在脚本中调用ulimit来限制cpu使用时间。

例如,限制tar的cpu占用时间,单位秒。

# cat limit_cpu.sh

ulimit -SHt 100

tar test.tar.gz test

如果tar占用时间超过了100秒,tar将会退出,这可能会导致打包不完全,因此不推荐使用ulimit对cpu占用时间进行限制。

另外,通过修改系统的/etc/security/limits配置文件,可以针对用户进行限制。

四,使用程序自带的对cpu使用调整的功能

某些程序自带了对cpu使用调整的功能,比如nginx服务器,通过其配置文件,可以为工作进程指定cpu,如下:

worker_processes 3;

worker_cpu_affinity 0001 0010 0100 1000;

这里0001 0010 0100

1000是掩码,分别代表第1、2、3、4颗cpu核心,这就使得cpu的使用比较平均到每个核心上

linux调节cpu转速,Linux下调节CPU使用的几种方法相关推荐

  1. 查看linux系统版本centos,CentOS下查看系统版本的4种方法

    Linux有很多的发行版,不同的版本会有一些细微区别,所以经常需要查看服务器系统的版本号. 下面来看下CentOS下如何查看CentOS版本. 方法1:cat /etc/issue 执行命令:[www ...

  2. Linux下查看磁盘挂载的三种方法

    Linux下查看磁盘挂载的三种方法 2009-06-05 23:17 好久没有更新日志了,呵呵.不是没有要写的东东.实在抽不出时间来写,要准备公司的考试呢,C++考试.已经有七个月没有写C++代码了, ...

  3. linux删除用户删不了怎么办,Linux下完全删除用户的两种方法

    Linux操作 实验环境:Centos7虚拟机 首先创建一个普通用户 gubeiqing . [root@localhost ~]# useradd gubeiqing [root@localhost ...

  4. linux系统下重启网络服务的两种方法

    linux系统下重启网络服务的两种方法 发布时间:2020-04-02 11:25:25 来源:亿速云 阅读:207 作者:小新 今天小编给大家分享的是linux系统下重启网络服务的两种方法,很多人都 ...

  5. linux 清空catalina.out日志 不需要重启tomcat(五种方法)【转】

    1.重定向方法清空文件 [root@localhost logs]# du -h catalina.out  查看文件大小 17M catalina.out [root@localhost logs] ...

  6. 在装完Linux系统之后自己去修改Swap分区的大小(两种方法)

    在装完Linux系统之后自己去修改Swap分区的大小(两种方法)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:o ...

  7. 在ArcEngine下实现图层属性过滤的两种方法

    转自chanyinhelv原文 在ArcEngine下实现图层属性过滤的两种方法 有时候,我们要对图层上的地物进行有选择性的显示,以此来满足实际的功能要求. 按下面介绍的方法可轻松实现图层属性过滤显示 ...

  8. python列出文件夹所有文件_python列出文件夹下的所有文件的4种方法

    jincon 发表于 2015-01-28 23:56:00 发表在: python开发 python列出文件夹下的所有文件的4种方法 #方法1:使用os.listdir import os for ...

  9. 关于Windows7下无线共享上网的几种方法

    关于Windows7下无线共享上网的几种方法 学校宿舍网使用的是锐捷认证客户端,限制多网卡,一旦检测到就会断开认证链接,想共享上网不是很容易啊~~后来宿舍有人买来了一台TP-Link无线路由器想用它来 ...

  10. CentOS7下配置Supervisor自启动的两种方法

    很多网友留言问如何配置Supervisor 自启动,现将如何在CentOS7下配置Supervisor自启动的两种方法整理如下: 一.方法一 直接将启动命令加入到/etc/rc.d/rc.local中 ...

最新文章

  1. 《文献检索》随感-2003年10月24日
  2. linux常见协议对应端口(后期补充)
  3. [模拟退火]BZOJ 3680 吊打XXX
  4. python argvparser_Python命令行参数argv和argparse该如何使用
  5. spark streaming 5: InputDStream
  6. 三百年前的AI骗局:骗过美国总统和普鲁士大帝的国际象棋AI
  7. C++leetcode找出两个有序数组的中位数(2)
  8. wxWidgets:wxStringBuffer类用法
  9. ios模拟器的路径-打开沙盒路径
  10. 区块链教程Fabric1.0源代码分析流言算法Gossip服务端二
  11. ipset-linux防火墙的扩展实现对指定ip的限制访问
  12. 最少点字典序最短路径_LeetCode 89,因为题目晦涩而被点了1500+反对的搜索问题...
  13. 不同用户登陆模块的实现
  14. 计算机如何回到桌面,windows下电脑怎么回到桌面主页?
  15. Windows xp .iso下载大全——超全面超难找的收藏版(二)
  16. C# 文字视频生成器
  17. 千万不要看—思路火花
  18. 钉钉机器人推送表格图片
  19. 浪潮信息做pc服务器,浪潮信息:高性能AI服务器将成为智算中心生产算
  20. 淘宝开发平台店铺商品上传接口,店铺订单交易接口,店铺订单解密接口,店铺上下架接口,店铺订单推送接口(整理好的完整店铺上货订单操作接口)

热门文章

  1. Yolov7学习笔记(四)数据加载
  2. Linux设置快捷键
  3. WPF 控件专题 TabControl控件详解
  4. Win11应用商店无法加载页面
  5. 安卓学习笔记——关于短信的屏蔽
  6. 4399枪神传说服务器维护,枪神传说6月14日更新维护公告 战队系统上线
  7. 有哪些人际关系书籍值得推荐?看完这两本书你也能成为社交高手!
  8. MySQL数据库第3讲 数据库数据模型
  9. java 中 format的不同用法
  10. android auto touch,AutoTouch