linux中限制CPU和内存占用率方法

查看cpu占用

在命令行中输入 “top”

即可启动 top

top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。

使用top查看系统负荷

top命令可以动态监视系统负荷,包括CPU、内存的使用率和占用资源较多的进程详情等。

动态查看系统负荷(占用一个终端)

top

显示后退出

top -n 1

以文本方式输出,以备其它程序使用

top -b

好了,我们现在来看限制CPU和内存占用率方法

脚本内容:

代码如下

#!/bin/sh
UPID=`top -bn 1 | grep "^ *[1-9]" | awk '{ if($9 > 20 || $10 > 25 && id -u $2 > 500) print $1}'`
for PID in $UPID
do
renice +10 $PID
echo "renice +10 $PID"
done

我对上面的脚本进行了修改,可以让其针对整个服务器的进程进行限制.

修改后的脚本:

代码如下

#!/bin/sh
UPID=`top -bn 1 | grep "^ *[1-9]" | awk '{ if($9 > 50 || $10 > 25 ) print $1}'`
for PID in $UPID
do
renice +10 $PID
echo "renice +10 $PID"
done

可以将这个脚本放到cron中运行,让其每分钟检查一次:

代码如下
chmod +x limit.sh
vi /etc/crontab
*/1 * * * * /bin/sh /root/soft_shell/limit.sh

ps:

n : 更新的次数,完成后将会退出 top

b : 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内

那么top -bn 1 就是获取一次,top的输出结果。

grep "^*[1-9]" : 是为了直接获取PID号,排除掉表头等信息。

awk '{ if($9 > 20 || $10 > 25 && id -u $2 > 500) print $1}' :

取得cpu使用率大于20%或者内存使用率大于25%,且用户uid大于500的进程pid。

(0)

相关推荐

  • 如何解决电脑内存占用率高问题

    电脑是现在十分常用的工具之一,有些用户遇到了内存占用率高问题,想知道如何解决,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先右键单击底部任务栏,接着在弹出的菜单栏中根据下图所示 ...

  • 减少windows 7旗舰版系统电脑内存占用率加快系统运行速度的方法

    一.关闭一些无用的服务 在windows 7旗舰版系统中已经有了非常多的服务功能,但一些没用的服务还是关掉为好,一是从安全考虑,另一个原因也是节省我们的内存,关闭一些服务完全可以实现减少电脑内存占用率 ...

  • Win7怎么查看内存占用率?Win7查看软件内存占用率的方法

    Windows系统用久了之后,很多用户都会感到程序运行速度变慢了,反应也变迟钝了.有时候这是由于软件占用的内存太大引起的.我们可以查看下,将占大内存而不用的软件卸载掉.那么Win7怎么查看内存占用率? ...

  • win10系统电脑内存占用率高使用卡顿怎么办

    电脑有时候使用会卡顿,因为内存的占用率过高,那么怎么解决呢,下面小编介绍一下.具体如下:1. 点击屏幕右下角的搜索框,输入"控制面板",然后点击打开红色框的[控制面板]2.再点击屏 ...

  • Win10系统内存占用率超过90%怎么办

    Windows10系统内存占用率超过90%怎么办呢,下面小编介绍一下.具体如下:1. 右击屏幕左下角的"开始"2. 弹出窗口,选择"运行"3. 打开后,输入&q ...

  • Linux中执行shell脚本的4种方法总结

    主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下 操作方法 01 方法一:切换到shell脚本所在的目录(此时,称为工作目录) ...

  • windows系统中CPU已满占用率100%问题的解决方案

    在windows系统中我们经常在安装软件或是使用功能时,CPU需要运行,而在电脑中CPU是一个中央处理器,是非常重要的存在!那么当看到CPU占用率已经满了,那么要怎么的解决呢?现在我们一起来看看吧! ...

  • Linux如何查询CPU和内存信息

    本篇为您介绍如何在LINUX下通过命令来查看CPU和内存信息 操作方法 01 右键桌面,打开LINUX终端窗口. 02 无需切换root账户,在终端窗口中输入以下命令查看CPU信息:cat /proc ...

  • 怎么看内存使用率(服务器内存占用率过高怎么办)

    本文出自头条号老王谈运维,转载请说明出处.作为Linux运维工程师系统维护过程中,需要我们经常查看CPU使用率.内存使用率.带宽占用,从资源使用的程度分析系统整体的运行情况.在 Linux 上查看资源 ...