Aix 用戶使用的系統資源限制包括兩個概念 --- 硬限制(hard limits) 和軟限制(soft limits)。hard limits自Aix 4.1版本開始引入。hard limits 應由Aix系統管理員設置,只有security組的成員可以將此值增大,用戶本身可以減小此限定值,但是其更改將隨著該用戶從系統退出而失效。
使用下列命令可以查看hard limits的限定值:ulimit -Hasoft limits 是Aix核心使用的限制進程對系統資源的使用的上限值。此值可由任何人更改,但不能超出hard limits值。這裡要注意的是只有security組的成員可使更改永久生效,普通Aix 用戶的更改在其退出系統後將失效。
使用以下命令可以查看soft limits的設置:ulimit -a
下面為系統的soft limits的默認值:
- 3.2
- 4.1-4.3
- ===============
- =================
- fsize = 2097151
- fsize = 2097151
- core = 2048
- core = 2048
- cpu = 3600
- cpu = -1
- data = 131072
- data = 262144
- rss = 65536
- rss = 65536
- stack = 8192
- stack = 65536
- nofiles = 2000*
- nofiles=2000 *
* 該值(nofiles)只能在Aix 4.3.1 或以後的版本中更改。
上述定義作為默認值存放在文件 /etc/security/limits 中,在新用戶被加進系統後生效。直接更改此文件中的定義值需要將系統重新啟動以便使更改生效。將相應值該為"-1" 表示不受 soft limits的限制(unlimited)。
下面我們將就各字段逐一進行介紹:
fsize 用戶創建的文件大小限制。此定義值(512字節為單位)為該用戶可以生成的最大文件的大小。
core 生成的core文件大小的限制(512字節為單位)。
cpu 用戶進程可用cpu的限定值(以秒為單位)。普通用戶只能將此值減小,root可以將此值增大。這裡要注意的是進程使用CPU的時間取決於Aix Kernel(核心程序)進程調度算法,該值在此僅做參考。
data 進程數據段大小的限定值(以字節為單位)。
stack 進程堆棧段大小的限定值(以字節為單位)。
rss 進程常駐內存段的限定值(以字節為單位)。Aix核心並不參考此限定。
nofiles 進程中打開文件的最大數量。此限定在Aix 4.3.1之前的版本中固定為2000。在Aix 4.3.1及其之後的版本中可將此值增大至32767。
Aix 用戶中,下面介紹三種修改上述限定值的方法:
1. 編輯文件/etc/security/limits,直接修改各定義值。此更改在系統重新啟動後生效。
2. 使用命令ulimit修改默認值。例如:
- ulimit -f value
- ulimit -c <value>
- ulimit -t <value>
- ulimit -d <value>
- ulimit -s <value>
- ulimit -m <value>
- ulimit -n <value>
將修改fsize, core, cpu,data, stack, rss和nofiles的soft limit值。
3. 使用命令chuser修改某用戶的限定值。例如:
- chuser fsize=<value> <username>
- chuser core=<value> <username
- chuser cpu=<value> <username>
- chuser data=<value> <username>
- chuser limit=<value> <username>
- chuser rss=<value> <username>
- chuser nofiles=<value> <username>
將用戶“username”的soft limits改為值“value”。
- chuser hard_fsize=<value> <username>
- chuser hard_core=<value> <username>
- chuser hard_cpu=<value> <username>
- chuser hard_data=<value> <username>
- chuser hard_limit=<value> <username>
- chuser hard_rss=<value> <username>
- chuser hard_nofiles=<value> <username>
將用戶“username”的hard limits改為值“value”。
到這裡,我們就介紹完了關於Aix 用戶的知識。