一、如何限制用户的磁盘空间


1. 查看系统中所有用户的磁盘空间配额

sudo repquota /dev/vda1


2. 查看某个用户的磁盘空间配额

sudo edquota user_name

要想更改该用户的磁盘空间配额,直接在弹出的文件中修改blocks字段后面的soft和hard字段的值即可。比如下图就将soft字段的值设置为2097152(也就是2G),将hard字段的值设置为3145728(也就是3G),这么设置的意思就是,系统会允许你在一定时间内(时间的设置见下面的第4节)的磁盘空间超过2G,但是你要在截至时间到来之前将磁盘空间降到2G以下;但是无论如何,你的磁盘空间都不能超过3G。这也就是soft和hard的含义。需要注意的是,blocks和inodes字段无需进行设置,这两个字段的值是系统自动给出的。

 
 

3. 先设置好某个模板用户fanyiwei的磁盘空间配额,然后将其配额赋值给目标用户target_user_name。只要设置过一次模板配额,那么以后这个命令就是最常用的,很方便。

sudo edquota -p fanyiwei target_user_name


4. 设置预警期

之前第2节我们设置过用户磁盘空间的软上限(soft)和硬上限(hard)。硬上限是绝对不允许超过的上限,比如上面设置的3G;软上限是短时间内允许你超过限制,但是有截止时间,也就是预警期。预警期的默认设置是7天,但是你可以用下面的命令修改

sudo edquota -t

运行之后会弹出下面的文件,然后修改即可,比如下图就将预警期设置成了3天。

 
 

二、如何限制用户的内存使用量


1. 首先使用下述命令进入文件

sudo vim /etc/security/limits.conf

进入后若想限制每一个用户的内存使用量不能超过20G左右,则在最下面添加下图中的语句

* hard rss 21000000

 
 

若想限制某个用户test的内存使用量不能超过20G左右,则可添加下图中的命令

@test hard rss 21000000

 
 

做一下说明,上面我们写的四个字段的意思分别是:(1) 加*号表示对所有用户起作用,加@test表示只对某个名叫test的用户起作用。(2) hard说明是硬上限,你也可以改成soft,也即软上限。(3) rss表示我们限制的是内存的使用量。(4) 21000000(单位KB)表明我们限制的量大概是20GB。


2. 修改上面的文件并保存之后,我们再用下述命令

sudo vim /etc/pam.d/login

进入文件,在最下面添加如下一句话,然后保存。

session required /lib/security/pam_limits.so

 
 

3. 退出账户在重新登陆,使用下述命令可以查看内存配额

ulimit -a

结果如下图

 
 

上图表明我们已经成功将用户的内存使用上线设置成20G了。

链接:https://www.jianshu.com/p/b6fb59508c7b

linux限制内存和磁盘使用的更多相关文章

  1. linux 之内存与磁盘

    记录工作中常用操作 1. 新建和增加SWAP分区(都必须用root权限,操作过程应该小心谨慎.) 1)新建分区 .以root身份进入控制台(登录系统),输入 swapoff -a #停止所有的swap ...

  2. linux查看内存及磁盘使用情况

    1.查看当前目录 命令:   df -h       (统一每个目录下磁盘的整体情况) 2.查看指定目录 在命令后直接放目录名,比如查看"usr"目录使用情况: 命令:   df ...

  3. Linux按照CPU、内存、磁盘IO、网络性能监测

      系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书 ...

  4. linux性能问题(CPU,内存,磁盘I/O,网络)

    一. CPU性能评估 1.vmstat [-V] [-n] [depay [count]] -V : 打印出版本信息,可选参数 -n : 在周期性循环输出时,头部信息仅显示一次 delay : 两次输 ...

  5. 方法:Linux 下用JAVA获取CPU、内存、磁盘的系统资源信息

    CPU使用率: InputStream is = null; InputStreamReader isr = null; BufferedReader brStat = null; StringTok ...

  6. linux中监控CPU、内存和磁盘状态的shell脚本。(centos7)

    这篇博客中所写的脚本,在实际工作中并没有什么卵用,工作中并不会用到这种脚本去监控.不过自己写一遍,可以让初学者对CPU.内存.磁盘等一些基础知识和基础命令更加了解. 1.利用vmstat工具监控CPU ...

  7. Linux按照CPU、内存、磁盘IO、网络性能监测【转载】

    本文转载地址:https://my.oschina.net/chape/blog/159640 系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监 ...

  8. 操作系统复习——如何查看一个进程的详细信息,如何追踪一个进程的执行过程 ,如何在 Linux 系统下查看 CPU、内存、磁盘、IO、网卡情况?epoll和select区别?

    1. 如何查看一个进程的详细信息,如何追踪一个进程的执行过程 通过pstree命令(根据pid)进行查询进程内部当前运行了多少线程:# pstree -p 19135(进程号) 使用top命令查看(可 ...

  9. 测网速 fping Linux查看网络即时网速 linux性能问题(CPU,内存,磁盘I/O,网络)

    Linux查看网络即时网速 fping 是ping 工具的加强版本 例出局域网中存活的主机 (Ubuntu apt-get装上  cnetos装不上) zzx@zzx11:~$ fping -a 19 ...

随机推荐

  1. 使用 nginx 和 rtmp 插件搭建视频直播和点播服务器

    使用 nginx 和 rtmp 模块 ,可以很容易地搭建一个视频直播和点播服务器出来. 首先,看一下最经典的参考文献: How to set up your own private RTMP serv ...

  2. Metaspoit的使用

    一.环境的使用和搭建 首先我的攻击机和靶机都搭建在虚拟机上,选用的是VMware Workstation Pro虚拟机. 攻击机选用的是Linux kali 2017.2版本,而靶机安装的是XP sp ...

  3. bzoj 2794: Cloakroom dp

    题目: 有\(n\)件物品,每件物品有三个属性\(a_i,b_i,c_i,(a_i < b_i)\) 再给出\(q\)个询问,每个询问由非负整数\(m,k,s\)组成,问是否能够选出某些物品使得 ...

  4. uoj problem 12 猜数

    题目大意 每次询问给出g,l,有\(a*b = g*l = n\),且\(a,b\)均为\(g\)的倍数.求\(a+b\)的最小值和\(a-b\)的最大值. 题解 因为\(a,b\)均为\(g\)的倍 ...

  5. [转]各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT

    现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses /alphabeti ...

  6. 洛谷【P3952】NOIP2017提高组Day1T2时间复杂度

    我对模拟的理解:http://www.cnblogs.com/AKMer/p/9064018.html 题目传送门:https://www.luogu.org/problemnew/show/P395 ...

  7. MySQL5.7出现Your password has expired. To log in you must change it using a client that supports expir

    今天晚上本来想写bootstrap-fileinput插件集成fastdfs的文章,但是刚启动idea里面的QiYuAdmin就出现了错误: Your password has expired. To ...

  8. OpenStack、CloudStack、Eucalyptus和vCloud Director四大主流云平台怎么选?

    软件产品开发公司Altoros Systems的IT基础设施设计师Vadim Truksha在美国<网络世界>上发表一篇文章,详细对比了CloudStack.Eucalyptus.vClo ...

  9. HDUj2612(两个起点找到最近的目的地)

    Find a way Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  10. freeMaker的工具类

    package com.ek.util; import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; import jav ...