zoukankan      html  css  js  c++  java
  • linux限制内存和磁盘使用

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


    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

  • 相关阅读:
    [数据结构与算法] 001—栈与队列(Python)
    [BLOG] Hexo之NexT配置过程中遇到的问题
    [Python] windows下beautifulsoup使用lxml解析使用报错
    [SQLTips] SQL优化技巧-批处理替代游标
    [SQLTips]NULLIF与ISNULL的交叉使用
    [SQLTips]查看锁和Kill 死锁进程
    Java基础学习——多线程之创建任务
    性能测试工具——Jmeter使用小结(一)
    Java基础学习——多线程之线程池
    初学Hadoop:利用VMWare+CentOS7搭建Hadoop集群
  • 原文地址:https://www.cnblogs.com/GodZhe/p/10911635.html
Copyright © 2011-2022 走看看