1.限制用户CPU使用资源

/etc/security/limits.conf   #主配置文件
/etc/security/limits.d/ #子模块配置文件

新建一个普通用户,并查看默认资源限制

[root@reddhat6_155_201 ~]# useradd admin
[root@reddhat6_155_201 ~]# ulimit -a
core file size (blocks, -c)
data seg size (kbytes, -d) unlimited
scheduling priority (-e)
file size (blocks, -f) unlimited
pending signals (-i)
max locked memory (kbytes, -l)
max memory size (kbytes, -m) unlimited #内存大小不限制
open files (-n)
pipe size ( bytes, -p)
POSIX message queues (bytes, -q)
real-time priority (-r)
stack size (kbytes, -s)
cpu time (seconds, -t) unlimited #cpu时间不限制
max user processes (-u)
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited exit #退出登录

设置admin用户使用CPU资源vim /etc/security/limits.conf

admin           soft     cpu                    #限制admin连续使用CPU不超过1分钟 最大不超过两分钟
admin hard cpu

切换至admin用户,查看可用资源限制

[root@reddhat6_155_200 ~]# su - admin
[admin@reddhat6_155_200 ~]$ ulimit -a
core file size (blocks, -c)
data seg size (kbytes, -d) unlimited
scheduling priority (-e)
file size (blocks, -f) unlimited
pending signals (-i)
max locked memory (kbytes, -l)
max memory size (kbytes, -m) unlimited
open files (-n)
pipe size ( bytes, -p)
POSIX message queues (bytes, -q)
real-time priority (-r)
stack size (kbytes, -s)
cpu time (seconds, -t) 60 #已经变为了60秒了 注意此处的单位
max user processes (-u)
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited exit #退出当前用户登录

使用dd命令测试 #超过一分钟后自动中断

使用top命令观察dd命令TIME使用时间

尝试自己调大CPU时间 #没有权限

但是可用调大至hard值的上限,即2分钟  #两分钟可以,超过一秒也不行

其他用户限制格式:

username  soft cpu    #指定用户 启动的程序最长只可以使用1分钟的CPU时间,soft警告 hard直接终止程序(重启程序后重新计时)
username hard cpu #也可以使用UID UID后面加:表示大于等于 还可以设置组名 格式为 @groupname
例:
admin hard cpu #admin用户硬限制CPU使用时间为1分钟
soft cpu #UID为500的用户软限制CPU使用时间为5分钟
: hard cpu #UID大于等于500的用户硬限制CPU使用时间为10分钟
@root hard cpu #root组用户硬限制CPU使用时间为20分钟

2.限制用户内存使用资源

内存限制有两个地方分别是:

[root@reddhat6_155_200 ~]# egrep "rss|as" /etc/security/limits.conf
# - rss - max resident set size (KB) #对应top命令中 RES 字段 驻留内存 系统实际分配给程序的内存大小
# - as - address space limit (KB) #对应top目录中 VIRT 字段 虚存地址空间 表示程序希望要多少内存 ******* 需要注意的是当前pam模块不支持RSS现在,只能通过as限制 ******

添加对admin用户内存的限制

[root@reddhat6_155_200 ~]# tail - /etc/security/limits.conf
admin hard as 262144 #对as限制 大小为 262144K 换算为256M

查看admin用户资源限制

[admin@reddhat6_155_200 ~]$ ulimit -a|grep "virtual memory"
virtual memory (kbytes, -v) 262144 #可以看到已经变为262144K了,默认不限制

3.限制用户进程数

配置普通用户打开进程数为1024

[root@reddhat6_155_200 ~]# tail /etc/security/limits.d/-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz # for reasoning. * soft nproc 1024 #普通用户限制进程数为1024
root soft nproc unlimited
[root@reddhat6_155_200 ~]# su - admin
[admin@reddhat6_155_200 ~]$ ulimit -u

使用shell bomb炸弹进行测试

[admin@reddhat6_155_200 ~]$ :(){ :|:& };:    #注意{}两边空格
[]
[admin@reddhat6_155_200 ~]$ -bash: fork: retry: 资源暂时不可用
-bash: fork: retry: 资源暂时不可用
-bash: fork: retry: 资源暂时不可用
-bash: fork: retry: 资源暂时不可用

centos6系统资源限制的更多相关文章

  1. Loadrunner 监控 Linux (centos6.5)服务器系统资源

    Loadrunner 监控 Linux 服务器系统资源,需要在被监控的服务器上启用 rstatd 进程但尝试启动时,爆炸了: [root@test1 rpc.rstatd-4.0.1]# rpc.rs ...

  2. CentOS6.5下docker的安装及遇到的问题和简单使用

    Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.利用Linux的LXC.AUFS.Go语言.cgroup实现了资源的独立,可以很轻松的实现文件.资 ...

  3. centos6.7下 编译安装MySQL5.7

    centos6.7下编译安装MySQL5.7 准备工作 #-----依赖包及MySQL和boost安装包----- #yum包安装: shell> yum -y install gcc-c++ ...

  4. centos6.5 64位静默安装oracle 10G R2

    操作系统:CentOS release 6.5 (Final) 64位 oracle版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1 ...

  5. Centos6.5卸载图形化

    问题描述: Centos6.5想运行在非图形化状态,减小系统资源的开销!提升服务器性能....... 问题解决: 01.切换运行模式,变相实现非图形化运行 多用户模式 init 图形化模式 init ...

  6. 阿里云centos6.5实践编译安装LNMP架构web环境

    LNMP 代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. 本次测试需求: **实践centos6.5编译安装 LNMP生产环境 架构 web生产环境 使用 ngx_pa ...

  7. Linux运维二:CentOS6.6系统安装后的基本配置与优化

    CentOS6.6系统安装完成后还需要做一些配置与优化: 一:Linux内核版本号介绍 查看内核版本: [root@Gin scripts]# uname -r 2.6.32-504.el6.x86_ ...

  8. Centos6.5下Oracle 11g R2安装过程

    1准备 CentOS-6.5-x86_64-bin-DVD1 linux_11gR2_database_1of2 linux_11gR2_database_2of2 VMware Workstatio ...

  9. CentOS6下docker的安装和使用

    CentOS6下docker的安装和使用 Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.利用Linux的LXC.AUFS.Go语言.cgroup ...

随机推荐

  1. Nginx 极简教程(快速入门)

    作者:dunwu github.com/dunwu/nginx-tutorial 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4.  ...

  2. efcore adddbcontext

    public static IServiceCollection AddDbContext<TContextService, TContextImplementation>( [NotNu ...

  3. Android studio移动项目到另外一个文件夹,结果不能安装的解决方法

    删除.gradle , .idea , build 三个文件夹即可

  4. WPF后台代码实现TextBlock滚动条

    方法一: 常规的WPF操作: <ScrollViewer Width=" VerticalScrollBarVisibility="Auto" Horizontal ...

  5. GitHub 2019年年度报告:Python最受欢迎,VScode贡献者高达19.1K

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 开源最前线(ID:OpenSourceTop) PS:如有需要Pyt ...

  6. struts图片上传

    文件上传:三种上传方案1.上传到tomcat服务器 上传图片的存放位置与tomcat服务器的耦合度太高2.上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系文件服 ...

  7. Javase之集合体系(2)之List及其子类ArrayList,LinkedList与Vector及其迭代器知识

    集合体系之List及其子类ArrayList,LinkedList与Vector及其迭代器知识 List(接口) 特点:有序(存储与取出顺序相同),可重复 List子类特点: ​ ArrayList: ...

  8. LeetCode题解001:两数之和

    两数之和 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个 ...

  9. DQL---连接查询(内连接、外连接)、子查询、分页查询

    一.连接查询 1.连接查询建立在有相互关系的两个表间,进行两个及两个以上的表或视图的查询. 2.对n张表进行查询,至少需要n-1个连接表的条件. 二.笛卡尔积(容易造成数据库宕机) 1.指表中每行元素 ...

  10. CODING 告诉你硅谷项目经理的项目管理之道

    写在前面 优秀的项目管理者是怎么工作的,如何把一个研发团队的绩效激发到最大? 我们精心挑选了几篇硅谷科技公司研发管理者的 README 进行翻译. README 主要用来向团队成员展示项目管理者的工作 ...