Linux下限制某程序CPU占用

CentOS 7下CPULimit的部署与使用途中

部署

git clone https://github.com/opsengine/cpulimit.git
cd cpulimit
make
cp src/cpulimit /usr/bin

输入cpulimit,查看使用方式

#选项
-l  0~200 限定CPU占据率0%~200%
-v 显现控制的统计信息
-z 当被控制的程式退出的时候,CPULimit程式也跟着退出
-i  同时限定被控程式的子进程
#command
-p 被控程式的PID
-e 被控程式的程式称号

举例,譬如要限定php-fpm进程的CPU使用率最高为50%,并显现控制信息

cpulimit -l 50 -i -v -e php-fpm 

依据需要挑选能否进入 -z 参数

如果需要后台执行,只需要在command前后进入nohup……&,回车便可

#nohup command &
nohup cpulimit -l 50 -e php-fpm -i -v &

参考资料:https://scoutapm.com/blog/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups

原文地址:https://www.cnblogs.com/wjoyxt/p/11096867.html

时间: 2024-11-03 21:40:00

Linux下限制某程序CPU占用的相关文章

linux下top命令查看cpu占用情况

可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等.退出 top 的命令为 q (在 top 运行中敲 q 键一次).top详解如下:1.作用top命令用来显示执行中的程序进程,使用权限是所有用户.2.格式top [-] [d delay] [q] [c] [S] [s] [n]3.主要参数 d:指定更新的间隔,以秒计算.q:没有任何延迟的更新.如果使用者有超级用户,则

Linux下计算进程的CPU占用和内存占用的编程方法zz

https://www.cnblogs.com/cxjchen/archive/2013/03/30/2990548.html 查看RAM使用情况最简单的方法是通过/proc/meminfo.这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示./proc/meminfo列出了所有你想了解的内存的使用情况. 进程的内存使用信息也可以通过/proc/<pid>/statm 和 /proc/<pid>/status 来查看. #inclu

生产环境下JAVA进程高CPU占用故障排查

问题描述:生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高. 问题分析:1,程序属于CPU密集型,和开发沟通过,排除此类情况.2,程序代码有问题,出现死循环,可能性极大. 问题解决:1,开发那边无法排查代码某个模块有问题,从日志上也无法分析得出.2,记得原来通过strace跟踪的方法解决了一台PHP服务器CPU占用高的问题,但是通过这种方法无效,经过google搜索,发现可以通过下面的方法进行解决,那就尝试下

C# Winform程序CPU占用高的原因和解决方法

程序CPU占用高的可能原因: 1.存在死循环: 为什么死循环会导致CPU占用高呢?      虽然分时操作系统是采用时间片的机制对CPU的时间进行管理的,也就是说到了一定时间它会自动从一个进程切换到下一个进程.但是,当进入别的进程后,若该进程告诉系统它现在不需要做什么,不需要那么多的时间,这个时候,系统就会切换到下一个进程,当切换到死循环所在进程后,由于它一直在循环,永远告诉系统它有事情做(实质仅在死循环,没做任何事),那么系统就尽可能的将其他进程省下了的时间让它做死循环了,CPU占用不高才怪咧

Linux下分析某个进程CPU占用率高的原因

  Linux下分析某个进程CPU占用率高的原因 通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用  1.top 查到占用cpu高的进程pid 2.查看该pid的线程:top -H -p 9532 3.查看这个线程所有系统调用:strace -p 10017 不停循环输出Connection timed out,让开发查看问题 原文地址:https://www.cnblogs.com/chenjw-note/p/8370679.html

两种在linux下创建应用程序快捷方式的方法

两种在linux下创建应用程序快捷方式的方法: A. 在桌面上创建快捷方式 B. 在应用程序菜单中添加快捷方式 在桌面上创建快捷方式 这是最简单的一种方法,在桌面上单击鼠标右键,会有一个“创建启动器”栏.这里我以为mplayer创建快捷方式为例说明: 名称-mplayer(或者你喜欢的任何名称,这个名称会出现在快捷图标的 下方) 命令-/usr/bin/gmplayer(这个是mplayer的gui应用程序的执行文件,跟 安装路径相关,可以通过which gmplayer找到) 图标-一般应用程

Linux下C/C++程序调试基础(GCC,G++,GDB,CGDB,DDD)

在写程序的时候,经常会遇到一些问题,比如某些变量计算结果不是我们预期的那样,这时我们需要对程序进行调试.本文主要介绍调试C/C++在Linux操作系统下主要的调试工具. 在Linux下写程序,C/C++主要的编译器有GCC/G++,ICC等,像我等穷码农,最喜欢GCC了,很大原因是他免费!所以,我们以GCC/G++为例介绍主要的调试工具. 分以下几个内容介绍: 1.调试之前的工作 2.选择调试工具 3.调试步骤 点我,请帮我投一票! 调试之前的工作 编译器在编译阶段需要产生可供调试的代码,才能被

Linux下执行Java程序

在linux下编译java程序,执行javac编译生成class文件时,在centos7终端输入如,javac hello.java    会提示未找到指令,但用java -verison测试环境变量是没问题的 百度了好久,说的很复杂,重新再linux配置环境变量,输入 vi /etc/profile进入,添加以下代码: export JAVA_HOME=/usr/local/jdk1.8.0_144 export PATH=$JAVA_HOME/bin:$PATH export CLASSPA

如何使用加多宝(jdb)在linux下调试Java程序

毕业时写了一段时间的C,那时候调试使用gdb,后来转了java,当时就想java程序怎么调试,找了一下,果然,那就是jdk自带的jdb windows里是这样的 Linux下是这样的 一般我在linux下来调试Java程序 好,那么,问题来了,这玩意怎么用?有好几种玩法 第一种玩法:以经典的HelloWorld为例,先写一个Java程序,如下: 我们把编译好的类上传到linux下,如下所示 务必强调一下:类所在的包名的层次结构也要在linux下体现出来 下面我们来玩起来,在linux下操作如下