文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>小技巧: 限制单个用户可用虚拟内存和进程数

小技巧: 限制单个用户可用虚拟内存和进程数

时间:2007-08-23  来源:yudi2006

小技巧: 限制单个用户可用虚拟内存和进程数

赵珂, 2007-08-07

实例脚本

脚本名: ulimit.sh

if [ $UID -ge 500 ]
then
ulimit -v 100000
ulimit -m 100000
ulimit -u 200
fi

注: ulimit -m和-v参数的单位为Kbytes. uid为500及500以上的用户都将自动修改ulimit数值(then后面的ulimit指令).

概念注释

虚拟内存(virtual memory): ulimit -v 限制单个进程可用的虚拟内存大小, 其中虚拟内存包括所有的内存类型, 包括堆栈, 内存映射文件. ulimit -v 100000限制了单个进程最多能够使用100M内存, 超出该限制终端将会收到一个内存不足的错误.

最大驻留集大小(maximum resident set size): ulimit -m 100000限制单个进程实际能驻留在RAM中的代码和数据大小不能超过100M.

最大用户进程数(max user processes): ulimit -u 200限制当前用户同时不能超过拥有200个进程数.

实例操作一 进程fork炸弹
运行shell命令行, 运行下面指令:
[zhaoke@islab ~]$ ulimit -a
max memory size (kbytes, -m) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited


[1] 29161

过几秒钟后系统停止任何服务.
(需强行reset重启系统)

实例操作二 用ulimit.sh限制进程fork炸弹
1. 在/etc/profile.d目录下创建ulimit.sh脚本, 内容如上.
2. 打开shell终端, 然后再运行实例操作一中的第二步


bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable
bash: fork: Resource temporarily unavailable

使用Ctrl-C终止fork炸弹进程.

关键字: linux, ulimit
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载