[ubuntu] 出现的问题

java.net.SocketException: Too many open files

如果出现这个错:
根本原因是由于系统文件资源的限制导致的
ulimit -a查看系统目前资源限制的设定。

1。ulimit -a 查看系统目前资源限制的设定。
   [root@test security]# umlimit -a
-bash: umlimit: command not found
[root@test security]# ulimit -a
core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open files                    (-n) 1024
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) 8192
cpu time             (seconds, -t) unlimited
max user processes            (-u) 7168
virtual memory        (kbytes, -v) unlimited
[root@test security]#
通过以上命令,我们可以看到open files 的最大数为1024
那么我们可以通过一下命令修改该参数的最大值
2. ulimit -n 4096
[root@test security]# ulimit -n 4096
[root@test security]# ulimit -a
core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open files                    (-n) 4096
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) 8192
cpu time             (seconds, -t) unlimited
max user processes            (-u) 7168
virtual memory        (kbytes, -v) unlimited

这样我们就修改了系统在同一时间打开文件资源的最大数,基本解决以上问题。

以上部分是查找网络上的解决方法。设置了之后段时间内有作用。

后来仔细想来,问题还是要从根本上解决,于是把以前的代码由认真地看了一遍。终于找到了,罪魁祸首。

在读取文件时,有一些使用的BufferedReader 没有关闭。导致文件一直处于打开状态。造成资源的严重浪费。

===============================================================================================

如果flash中有乱码
解决方法如下

打开终端,输入以下命令:

cd /etc/fonts/conf.d/
sudo cp 49-sansserif.conf 49-sansserif.conf_backup
sudo rm 49-sansserif.conf

===============================================================================================

Linux文件系统损坏后的修复

#fsck

在随后的多个确认对话框中输入:y
结束后,reboot。就ok了。
说明: 对Linux系统中常用文件系统的检查是通过fsck工具来完成的。

===============================================================================================
32位Ubuntu中支持超过4G的大内存的方法

目前32位的Ubuntu仅能支持4G的内存,解决方法是使用server版本的内核:
sudo apt-get install linux-restricted-modules-server
sudo apt-get install linux-headers-server
sudo apt-get install linux-image-server linux-server
最后重启
-----

根据不同的内核版本,可能是:
sudo apt-get install linux-restricted-modules-2.6.27-7-server
sudo apt-get install linux-headers-server
sudo apt-get install linux-image-server linux-server

===============================================================================================

猜你喜欢

转载自iaiai.iteye.com/blog/1103038