1847860 Members
1859 Online
104021 Solutions
New Discussion

file table overflow

 
SOLVED
Go to solution
MarkW_1
Regular Advisor

file table overflow

I am getting a file table overflow error with a new application on an l2000 OS 11.0.
Any ideas?
8 REPLIES 8
Jeff Machols
Esteemed Contributor

Re: file table overflow

run a sar -v 1, your output will look something like this

11:46:21 text-sz ov proc-sz ov inod-sz ov file-sz ov
11:46:22 N/A N/A 910/6344 0 3272/3272 0 4824/9498 0

if the file-sz column is close, you are running out of space in the open file table. You will either need to up this kernel param (nfile), or clean up procs that are using open files. You can find out by getting lsof.
Sridhar Bhaskarla
Honored Contributor
Solution

Re: file table overflow

Hi Mark,


Check out your sar -v 2 20 and look for file-sz and ov next to it. ov indicates that number of times the 'nfile' kernel parameter got overflown.

The vendors usually provide benchmarking values
for the kernel parameters. If not, you can consider doubling the value. Do not increase too much but keep a trend of nfile. I would calculate the dependencies and increase it according to the forcast needs. For the timebeing, you can double the value if it is the default.

You can use SAM to do this for you. Otherwise, you can follow the following process.

#cp /stand/system /stand/system.prev
#/usr/lbin/sysadm/system_prep -s /stand/system
#kmtune -s nfile="new value"
#mk_kernel -o /stand/vmunix
#kmupdate
#shutdown -r now

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
MANOJ SRIVASTAVA
Honored Contributor

Re: file table overflow

Hi Mark

Do a sar -v 2 10 and check for the nfile parameter , if it is saturated then u need to bump that parameter using SAM. Also may be if you see the dmesg or the syslog file u have HP UX error No 23.


Manoj Srivastava
Mark Greene_1
Honored Contributor

Re: file table overflow

The perspective opposite the kernel parameter settings is to find whether the application is single or multi-threaded; and if the former if it is correctly closing files after processing queries/updates, and if the later if it is utilizing shared memory for multiple sub-processes and does not close files associated with that shared memory segment until all of the processes accessing that memory have stopped, and if the vendor has a fix/work-around for either case.

--
mark
the future will be a lot like now, only later
MarkW_1
Regular Advisor

Re: file table overflow

I am getting this group of messages when processing the new kernel.

Cannot build a kernel using /usr/sbin/config. The standard output of ^ | |
| || the command is shown below: | |
|-|| (Bundled) cc: "/usr/conf/space.h.d/../strtio/pty.h", line 119: error |-|
|C|| 1000: Unexpected symbol: "queue_t". |d|
|-|| (Bundled) cc: "/usr/conf/space.h.d/../strtio/pty.h", line 127: error |-|
| || 1000: Unexpected symbol: "mblk_t". | |
| || (Bundled) cc: "/usr/conf/space.h.d/../strtio/pty.h", line 148: error | |
|+|| 1000: Unexpected symbol: "mblk_t". | |
|||| (Bundled) cc: "/usr/conf/space.h.d/../strtio/pty.h", line 149: error | |
|||| 1000: Unexpected symbol: "mblk_t". | |
|||| (Bundled) cc: "/usr/conf/space.h.d/../strtio/pty.h", line 119: error | |
|||| 1573: Type of "pt_srq" is undefined due to an illegal declaration. | |
|||| (Bundled) cc: "/usr/conf/space.h.d/../strtio/pty.h", line 119: error | |
|||| 1578: Size of struct or union member is unknown. | |
|||| (Bundled) cc: "/usr/conf/space.h.d/../strtio/pty.h", line 127: error | |
|||| 1573: Type of "pt_qioctl" is undefined due to an illegal declaration. | |
|||| (Bundled) cc: "/usr/conf/space.h.d/../strtio/pty.h", line 127: error v | |
|||--------------------------------------------------------------------
Jeff Machols
Esteemed Contributor

Re: file table overflow

try changing the value through SAM, that will build the kernel and reboot for you
MarkW_1
Regular Advisor

Re: file table overflow

I am using sam to make the change.

I changed maxuser from 32>96, which increased
nfile, nproc
MarkW_1
Regular Advisor

Re: file table overflow

Thanks for the help. This worked.


#cp /stand/system /stand/system.prev
#/usr/lbin/sysadm/system_prep -s /stand/system
#kmtune -s nfile="new value"
#mk_kernel -o /stand/vmunix
#kmupdate
#shutdown -r now

Mark