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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM