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. Token ,Cookie、Session傻傻分不清楚?

    作者 | 王菜鸟1993 来源 | cnblogs.com/JamesWang1993/p/8593494.html 在做接口测试时,经常会碰到请求参数为token的类型,但是可能大部分测试人员对to ...

  2. vs2017 发布工具 Installer 发包遇到的问题处理

    一. 遇到的问题. ERROR: 要在“系统必备”对话框中启用“从与我的应用程序相同的位置下载系统必备组件”,必须将“Microsoft .NET Framework 4.7.2 (x86 和 x64 ...

  3. Python爬取《冰雪奇缘2》豆瓣影评

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 刘铨@CCIS Lab PS:如有需要Python学习资料的小伙伴可 ...

  4. springmvc学习笔记二:重定向,拦截器,参数绑定

    Controller方法返回值 返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. 返回void 在Contro ...

  5. JS基础语法---数组

    数组: 一组有序的数据 数组的作用: 可以一次性存储多个数据 数组的定义: 1. 通过构造函数创建数组   语法: var 数组名=new Array(); var array=new Array() ...

  6. 做一个vue轮播图组件

    根据huangyi老师的慕课网vue项目跟着做的,下面大概记录了下思路 1.轮播图的图 先不做轮播图逻辑部分,先把数据导进来,看看什么效果.在recommend组件新建一个recommends的数组, ...

  7. CODING 签约天津大学,助力高校“产学”接轨

    近日,CODING 与天津大学顺利达成合作,将通过 CODING 的一站式 DevOps 解决方案为天津大学师生提供软件研发管理方面的先进理念和产品. 根据中共中央.国务院印发的<中国教育现代化 ...

  8. ubuntu 改键

    参考: https://www.jianshu.com/p/9411ee427cfd https://www.cnblogs.com/zhengchl/archive/2012/08/25/26557 ...

  9. requests---参数关联

    在做接口测试的过程中,我们经常会遇到参数关联,也就是我们经常所说的上一个接口返回是下一个接口的请求 参数关联 在应用业务接口中,完成一个业务功能时,有时候一个接口可能不满足业务的整个流程逻辑,需要多个 ...

  10. day8_对象的交互

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/7/14 15:07 # @Author : 大坏男孩 # @File : d ...