File size limit exceeded
 

最近服务器老是某个服务启动不了,看到出错是File size limit exceeded

根据这个词查看了一下,有如下信息:

引用
log文件中的store.log超过2G时就会报这个错误


查看了一下log,的确文件更好是2G,删掉log,然后禁止log记录,服务起来了
看来文件比较大的时候得注意了,要不就通过修改系统限制

ulimit -a 可以查看,比如我的可以获取如下信息:



但file size好像并没有限制,所以奇怪了些

ulimit -n 512000

应该可以修改某个限制的

看看ulimit是什么用的

[root@itnihao ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 1024
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 32764
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

引用
ulimit用于分配shell启动进程所占用的资源,当然言下之意也就是限制我们使用了。比如今天我aptitude时,程序退出,出现提示file size limit exceeded。我马上想到两天前修改了/etc/security/limits.conf

输入ulimit -a(这个命令是显示当前配置)看一下

file size (blocks,-f) 2048

open file (-n) 1024

果然有些小了,只允许打开2M以下的文件。

我们可以修改/etc/security/limits.conf

不过这需要重启,刚好我的机子在做运行测试,不想重启,所以我就用ulimit来直接修改了

ulimit -f 1024000

这个命令的意思是允许打开1G的文件