Our embedded application currently run on a x86 sbc, with an few years old
minimal linux distributions.
We are porting our application to the TS-7552. Things should be very straight
forward except of course for HW related stuff. However, when I run the software
on the TS-7552, during the initialization phase of the program where many
files/pipes/sockets are opened, I get errors about "Too many open files" and
the program quits. This was not an issue on the x86 sbc. I compared the kernel
parameters "ts.file-nr" and the same max values are the same on both (8196). I
evidently tried to increase the value, but it did not help. Is there any other
parameter I should check?
If I run the program in background, it also quits, but what's weird, is that if
I launch a second instance of the program quickly, before the first instance
quits, I don't get the error and both instances of the program runs normally
(no error and everything else seem to work fine).
I noticed something that look suspicious. the command lsof returns a tons of
lines (3728 to be exact) like:
app 227 root 3u sock 0,4 3168 can't identify protocol
This is when only one instance of the program is running (the other instance
has been killed). Also "sysctl fs.file-nr" returns:
fs.file-nr = 1161 0 8192
I can't check if I get the same on the x86 since lsof is not available... The
x86 toolchain is using glibc and the arm toolchain is using uClibc if that
matters.
Any ideas anyone? Anything else I should check?
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|