ulimit est utilisé pour limiter les ressources que chaque utilisateur peut utiliser, telles que le processeur, la mémoire, les poignées, etc. Ce qui suit prend CentOS 6.5 comme exemple pour résumer.
1 Voir ulimit
Format de commande :
ulimit [-SHacdefilmnpqrstuvx]
Copier après la connexion
- ParamètreS: Indique la limite souple Lorsque la valeur limite est dépassée, une alarme sera émise
.
- ParamètreH: Représente une limite stricte, qui ne doit pas dépasser la valeur limite
- Paramètrea: Toutes les limites de ressources seront répertoriées, telles que :
- Paramètrec: Lorsqu'une erreur se produit dans certains programmes, le système peut écrire les informations du programme en mémoire dans un fichier (pour le débogage). Ce type de fichier est appelé fichier core. Cela limite la capacité maximale de chaque fichier principal
- Paramètred: La valeur maximale de chaque segment de données de processus
- Paramètref: La taille maximale du fichier pouvant être créé par le shell actuel
- Paramètrel: La valeur maximale de la mémoire physique pouvant être verrouillée
- Paramètrem: La valeur maximale de la mémoire résidente pouvant être utilisée
- Paramètren: Le nombre maximum de descripteurs de fichiers que chaque processus peut ouvrir simultanément
- Paramètrep: La valeur maximale du pipeline
- Paramètress: la valeur maximale de la pile
- Paramètret: La durée maximale pendant laquelle chaque processus peut utiliser le CPU
- Paramètreu: Le nombre maximum de processus simultanés exécutés par chaque utilisateur
- Paramètrev: La mémoire virtuelle maximale pouvant être utilisée par le shell actuel
2 Modifier ulimit
Format de commande :
ulimit [-SHcdefilmnpqrstuvx] [limit]
Copier après la connexion
Ajoutez la valeur limite après la commande que vous consultez pour ajuster une certaine limite, mais cela n'est efficace que pour le shell de connexion actuel.
Le paramètreSsignifie définir une limite souple ; le paramètreHsignifie définir une limite stricte ; lorsque ni l'une ni l'autre n'est spécifiée, cela signifie définir à la fois la limite souple et la limite stricte aux valeurs spécifiées.
3 Modifier définitivement ulimit
所谓永久,是指每次登陆shell时,都会按配置重新设定ulimit,以达到永久生效的效果。
- 步骤一:修改/etc/security/limits.conf
添加如下内容:
关于该文件的配置方式请参考后文
[root@CentOS646506 ~]# vim /etc/security/limits.conf * hard nproc 64000 * soft nproc 64000 * hard nofile 64000 * soft nofile 64000
Copier après la connexion
以上内容表示,将-u和-n的软限制和硬限制同时修改为64000。
添加如下内容:
[root@CentOS646506 ~] session required pam_limits.so
Copier après la connexion
以上内容表示,在登录时使用pam管理limit。
添加如下内容
[root@CentOS646506 ~] ulimit -u 64000 ulimit -n 64000
Copier après la connexion
每次登陆shell后,会初始执行这两条ulimit命令,并使其生效。
重新登录或使用source /etc/profile立即生效。
source使当前shell对指定文件内容生效。
3.1 /etc/security/limits.conf配置详解
格式:
<domain> <type> <item> <value>
Copier après la connexion
- domain是指生效实体
- 用户名
- 也可以通过@group指定用户组
- 使用*表示默认值
- type指限制类型
- item限制资源
- core同ulimit -c
- data同ulimit -d
- fsize同ulimit -f
- memloc同ulimit -l
- nofile同ulimit -n
- stack同ulimit -s
- cpu 同ulimit -t
- nproc同ulimit -u
- maxlogins指定用户可以同时登陆的数量
- maxsyslogins系统可以同时登陆的用户数
- priority用户进程运行的优先级
- locks用户可以锁定的文件最大值
- sigpengding同ulimit -i
- msgqueue同ulimit -q