免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 11500 | 回复: 37
打印 上一主题 下一主题

问 :关于ulimit 的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-30 23:45 |只看该作者 |倒序浏览
1)ulimit 是否只针对当前的会话有效,一旦退出连接再登录就失效?


  1. [n7css@monitor n7css]$ ulimit -f 1000
  2. [n7css@monitor n7css]$ ulimit -f
  3. 1000
复制代码


退出当前 shell 再次登录,发现可以突破限制了

  1. [n7css@monitor n7css]$ dd if=/dev/zero of=tmp_file bs=1K count=1024
  2. 读入了 1024+0 个块
  3. 输出了 1024+0 个块
  4. [n7css@monitor n7css]$
复制代码



2)root 用户也无法突破普通用户的 ulimit 设置吗?


  1. [n7css@monitor n7css]$ ulimit -f 1000
  2. [n7css@monitor n7css]$ ulimit -f
  3. 1000
复制代码


  1. [root@monitor n7css]# whoami
  2. root
  3. [root@monitor n7css]# pwd
  4. /home/n7css
  5. [root@monitor n7css]# dd if=/dev/zero of=tmp_file bs=1K count=1024
  6. 文件大小超出限制
  7. [root@monitor n7css]#
复制代码

[ 本帖最后由 ailms 于 2007-7-30 23:57 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-07-30 23:56 |只看该作者
又发现一个问题


  1. [n7css@monitor n7css]$ ulimit -u 3
  2. [n7css@monitor n7css]$ ps -u n7css
  3. -bash: fork: 资源暂时不可用
  4. [n7css@monitor n7css]$
  5. [n7css@monitor n7css]$ ulimit -u 30
  6. -bash: ulimit: max user processes: cannot modify limit: 不允许的操作
  7. [n7css@monitor n7css]$
  8. [n7css@monitor n7css]$ ulimit -u
  9. 3
  10. [n7css@monitor n7css]$
复制代码


为什么单独执行 ulimit -u 可以执行,但修改 -u 为 30 就失败呢?

ulimit 是 buitlin 命令,执行时并不需要建立多一个进程吧?

[ 本帖最后由 ailms 于 2007-7-30 23:58 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2007-07-31 00:52 |只看该作者
1)退出当前的shell, 那么临时定义的变量/限制当然不会起作用啦,  可以写在profile/bashrc里
2) 估计和su是否加-有关吧! 简单的su,root使用的还是当前普通用户的环境
1,说明:
ulimit用于shell启动进程所占用的资源.
2,类别:
shell内建命令
3,语法格式:
ulimit [-acdfHlmnpsStvw] [size]

4,参数介绍:

-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes 5

这个东西似乎很深奥, 我对其也是一知半解的~~

论坛徽章:
0
4 [报告]
发表于 2007-07-31 00:54 |只看该作者
继续顶,该死的字数限制,什么时候取消啊 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

论坛徽章:
0
5 [报告]
发表于 2007-07-31 00:56 |只看该作者
原帖由 寂寞烈火 于 2007-7-31 00:52 发表
1)退出当前的shell, 那么临时定义的变量/限制当然不会起作用啦,  可以写在profile/bashrc里
2) 估计和su是否加-有关吧! 简单的su,root使用的还是当前普通用户的环境

这个东西似乎很深奥, 我对其也是一知半解 ...



hoho,我是用 su - 转换的,所以就不知道为什么会这样

而且 ulimit 应该不会写 /etc/security/limits.conf ,那么它的设置值又都放在那里呢?是否在内存中,所以才会一退出会话就失效了?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2007-07-31 00:59 |只看该作者
原帖由 ailms 于 2007-7-31 00:56 发表



hoho,我是用 su - 转换的,所以就不知道为什么会这样

而且 ulimit 应该不会写 /etc/security/limits.conf ,那么它的设置值又都放在那里呢?是否在内存中,所以才会一退出会话就失效了?

/home/lee#grep ulimit /etc/profile
ulimit -S -c 0 > /dev/null 2>&1
可以把你需要限定的放在这里, 不同用户的当然放在不同的 用户的环境文件里

[ 本帖最后由 寂寞烈火 于 2007-7-31 01:00 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2007-07-31 01:07 |只看该作者
多谢烈火兄,我再好好研究一下

论坛徽章:
0
8 [报告]
发表于 2007-07-31 01:09 |只看该作者
修改/etc/security/limits.conf 是永久修改。你为什么觉得不是这个文件呢?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2007-07-31 01:12 |只看该作者
原帖由 yuhe27913 于 2007-7-31 01:09 发表
修改/etc/security/limits.conf 是永久修改。你为什么觉得不是这个文件呢?

嗯, 其实配置这个文件更加灵活, 他可以针对不同的用户做不同的限制, 我也更倾向于此

论坛徽章:
0
10 [报告]
发表于 2007-07-31 01:17 |只看该作者
原帖由 yuhe27913 于 2007-7-31 01:09 发表
修改/etc/security/limits.conf 是永久修改。你为什么觉得不是这个文件呢?



如果是,为什么退出会话时就失效了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP