linux root账户下怎么分配2G内存给用户user1
PHPz
PHPz 2017-04-17 16:13:05
[Linux讨论组]


我是小白,除了要答案,还想要解决问题的思路

大神说cgroups可以搞定,所以:
cgroups是个命令吗 表示查的文章都看不懂

PHPz
PHPz

学习是最好的投资!

全部回复(3)
PHP中文网

Linux目前只支持对程序的内存控制,还不支持对用户的资源控制。
分配内存自然也在资源控制的行列,通过Cgroups即可实现。
另外一个更方便的做法是使用Docker,后者还能间接的实现对用户的资源控制。

伊谢尔伦

内存是属于进程空间,也就是说只有用户启动进程后才会占用内存,所以不能直接分配2G内存给用户。

题主的问题按我的理解可能是想要限制属于某个用户的进程最大能使用的内存空间。

如果是这样的话,可以通过/etc/security/limits.conf做限制:

echo "user1    hard    rss    2097152" >>/etc/security/limits.conf

其中:
user1代表的是user1用户
hard代表做硬性限制
rss代表的是物理内存空间
2097152KB是2G内存空间

当然我不确定题主的问题是否如此,如果是的话,题主可以goole或baidu关于ulimit的文章看一看。

怪我咯

docker吧!
这个只能通过改写内核才能给固定用户分配内存。Linux的机制是控制程序,而不是控制用户。如果限制用户的最大使用内存量确实可以通过/etc/security/limits.conf来控制,但不能做到固定不变。如果是数据库,可以一次申请2GB的内存,Oracle就是这么干的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号