在 Linux 系统中,可以通过多种方式修改文件描述符。以下是一些常见的方法:
一、使用 shell 命令
ulimit
命令ulimit
命令可以用来限制 shell 启动进程所占用的资源,包括文件描述符数量。- 例如,要将当前 shell 的文件描述符数量软限制设为 1024,硬限制设为 2048,可以使用以下命令:
ulimit -n 1024 -Hn 2048
。 - 这种方式的修改只对当前 shell 及其启动的子进程有效,一旦 shell 退出,设置就会失效。
二、SHELL脚本一键修改
vi /opt/ulimit.sh
#!/bin/bash
#pam
if (( `grep limits.so /etc/pam.d/common-session|wc -l` < 1 ));then
echo 'session required pam_limits.so' >> /etc/pam.d/common-session
echo 'change pam ok'
fi
#limits
if (( `grep 1000001 /etc/security/limits.conf|wc -l` < 1 ));then
echo 'root soft nofile 1000001' >> /etc/security/limits.conf
echo 'root hard nofile 1000001' >> /etc/security/limits.conf
echo '* soft nofile 1000001' >> /etc/security/limits.conf
echo '* hard nofile 1000001' >> /etc/security/limits.conf
echo 'change limits.conf ok'
fi
#sysctl
if (( `grep 1000001 /etc/sysctl.conf|wc -l` < 1 ));then
echo 'fs.file-max = 1000001' >> /etc/sysctl.conf
echo 'kernel.perf_cpu_time_max_percent = 0' >> /etc/sysctl.conf
echo 'change sysctl.conf ok'
else
echo 'nothing...'
fi
#formart
# mkfs.ext4 -m 0 -T largefile4 /dev/nvme1n1
bash /opt/ulimit.sh