– 分析命令
-
ulimit -a 【可以查看当前系统设置的最大句柄数是多少,其中的open files那行就是代表系统目前允许单个进程打开的最大句柄数,一般没有设置默认为1024.】
-
ps -ef | grep java 【可以查看当前java应用程序进程对应的进程id.】
-
lsof -p 进程id 【查看单个进程打开的的文件详情】
-
lsof -p 进程id | wc -l 【统计进程打开了多少个文件,如果文件数过多,无法完全查看,则可以使用命令 lsof -p 进程id -> openfiles.log,将执行结果的内容输出到日志文件中查看】
– 系统级解决办法
- ulimit -n 句柄数 【设置增加允许打开的文件数,这种设置办法在系统重启后会还原默认值。并且非root用户只能设置到4096,要想设置更大,需要用sudo,或则root用户】
- vim /etc/security/limits.conf 【修改系统配置文件增加允许打开的文件数】
#在最后加入
- soft nofile 4096
- hard nofile 4096
最前的* ,表示所有用户,可根据需要设置某一用户,例如
roy soft nofile 8192
roy hard nofile 8192
java后端对图片处理的比较强大的处理工具: https://blog.youkuaiyun.com/FireAny2010/article/details/39670975 使用ImageMagick处理图片(对图片处理要求比较高的解决方案)
本文介绍了如何检查和调整Linux系统的最大文件句柄数,包括使用`ulimit -a`查看当前设置,通过`ps -ef | grep java`查找Java进程ID,利用`lsof -p 进程ID`查看进程打开的文件详情。当文件数过多时,可以将结果输出到日志文件。系统级解决办法包括临时修改`ulimit -n`和永久修改`/etc/security/limits.conf`来增加限制。此外,还提到了Java后端处理图片的工具ImageMagick,用于高效处理图片需求。
4056

被折叠的 条评论
为什么被折叠?



