用 systemd 限制用户的内存使用

功能上都是 cgroup 的功劳,但是 systemd 提供了一个容易使用的介面。

作大死把 ext4 换成了 btrfs,以前曾经有很多断点之后就再也起不来的事情。

电池没电倒不是特别担心,因为我电源管理设置成了危急电量就关机。

担心的事情就是现在都不用 swap 了,万一哪天有个进程抽风(对我说的就是你,telepathy-gabble),用光内存导致要强制关机怎么办。

systemd 提供了 user.slice 和 user-id.slice 来访问用户的进程,于是就可以使用下面的命令来限制所有用户进程一共只能使用 7G 内存。

systemctl set-property user.slice MemoryLimit=7G

内存超标就会被简单粗暴的杀掉(总比整个文件系统那啥好点……

当然针对其他 unit 也可以方便的限制内存使用。

¬ _ ¬ 系统进程你最好别给我作死。

=-=-=-=-=
Powered by Blogilo

This entry was posted in 日志. Bookmark the permalink.

One Response to 用 systemd 限制用户的内存使用

  1. Kiriyama Yuki says:
    Google Chrome 40.0.2214.91 Mac OS X  10.10.1

    治好了困扰多年的硬盘暴死症 (*ノ・ω・)ノ(*ノ・ω・)ノ(*ノ・ω・)ノ

    [Reply]

Leave a Reply

Your email address will not be published. Required fields are marked *

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).

This site uses Akismet to reduce spam. Learn how your comment data is processed.