We have a java based web-app running on CentOS 6.0 64bit and it writes out many log files. Some of the files are rotated on daily basis using logrotate using the daily, copytruncate and other few options.One such particular log file stops growing at exactly 102400000 bytes. The process continues working fine. But nothing gets written in the log then.I did a stat on the file using watch to see if after reaching the 102400000 byte size the modified time changes, but it doesn't. Nothing happens to the file. It just stays there as it is. Other log files in the same directory continue to be written into. The things mentioned in another StackExchange question here do not apply. I checked and rechecked if any where the mentioned ulimit option was set, but there is none any.Doing strace -f -p PID showed the process to be trying to write but encountering the File too large and File size limit exceeded messages:[pid  5679] write(1, \n\n\n\n\n23-01-2013 12:00:46:921  Av..., 128) = -1 EFBIG (File too large)[pid  5679] --- SIGXFSZ (File size limit exceeded) @ 0 (0) ---How do I find as to what is imposing this limit on the file size. Other log files in the same directory are quite large (greater than 1Gb in size) and have no issues as such.
Log file not growing beyond a size. Why?
linux;centos;logs;size
So (from your comment), there is a ulimit after all (causing the SIGXFSZ and EFBIG) which explains why the size of the log can't get any larger.You can confirm with:grep 'Max file size' /proc/$pid/limits(where $pid is the id of the java process meant to write to that file).Possibly it is set by the process itself (check for setrlimit or ulimit in the strace output), It could also be set by a wrapper script that starts java or the java application (look for ulimit -f 100000).