Re: Error 104 - File descriptor... [29399]
Posted in 2013
Complementing...
The way I will use to monitor the amount of this FDs , without sure if
is correct or not....
# of open Files Descriptors.
$ onstat -g opn | awk '{print $3}' | sort | uniq -c | wc -l
721
Check what FDs is + shared.....
$ onstat -g opn | awk '{print $3}' | sort | uniq -c | sort -nk2
...
On 24/1/2013 12:47, Cesar Inacio Martins wrote:
> Hi ,
>
> ifx 11.50 FC9x6 , AIX 6.1
>
> Yesterday, one of our interface batch jobs (4gl) become stopping with
> error 261/104 few times during the day.
>
> Sql : -261 Cannot create file for table ().
>
> Isam : -104 ISAM error: too many files open.
>
> I notice this occur because the amount of data grew .
> And then, later (after rush hour) it just run without problem (the same
> data).
>
> We already got into this problem before, where we open a PMR and the
> solution was increase the OS ulimit/open file parameter.
> Where we change to 10.000 .
>
> I always had the doubt if this error (-104) have a real relation with
> O.S. limits...
> After doing a better research, at this point my conclusion is : Doesn't !!
>
> ---->>>> Appreciate the opinion of the developers/gurus here to my/our
> clarification how this works.
>
> What I found and convince me the error 104 doesn't have direct relation
> with OS limits is :
>
> 1) This message from Jacques (17/may/2011) on informix-list (usenet).
> Saying about the internal concept of "file descriptor"
>
>>> I'd suggest contacting support. I seriously doubt the 104 error on
>>> the start violations would have anything to do with OS level file
>>> descriptors. The sqlexec thread on the server would not be opening
>>> anything additionally on that command, as a table in the server is not
>>> a unix file construct. All the oninit processes would already have
>>> all the chunks open, so the only OS file descriptors involved would be
>>> the ones for chunks or for the network connections. We have an
>>> internal concept of "file descriptor" that this is likely referring to
>>> that relates to tables, but the limit on the number of these should be
>>> very large, like 32k if I remember right. So I would think that that
>>> error is either getting generated when it shouldn't, or possibly an
>>> error is occurring but we're maybe reporting the wrong error or a
>>> misleading error.
>>> Jacques Renaut
>>> IBM Informix Advanced Support
>>> APD Team
> 2) At the moment we got the error -104 the onstat -g iog return the
> values bellow, what is very low number and I know they represents the #
> of chunks and other files:
> $ og iog>
> IBM Informix Dynamic Server Version 11.50.FC9X6 -- On-Line -- Up 5 days
> 17:57:56 -- 183239776 Kbytes>
> AIO global info:
>
> 9 aio classes
> 152 open files
> 192 max global files
>
> 3) Today , monitoring a session with is using a lot of memory
> (considering our AVG), and there no relation with the problem yesterday
> I notice it with a log of "File Descriptors" (isfd) over the same table.
> I believe this is some programing flaw , something like open or prepare
> the same cursor repeatedly.
> But the focus here is , the same table, appear lot of times, for the
> same thread with a lot of ISFD.
>
> $ og opn 7287878 | egrep "0x0250001d|part"> tid rstcb isfd op_mode op_flags partnum ucount
> ocount lockmode
> 7287878 0x0700001daa3cca68 103 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 107 0x00000400 0x00000403 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 125 0x00000402 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 129 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 141 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 170 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 206 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 223 0x00000402 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 225 0x00000402 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 230 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 232 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 238 0x00000402 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 298 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 308 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 312 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 322 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 332 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 336 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 342 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 357 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 369 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 371 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 375 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 379 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 381 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 383 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 387 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 391 0x00000402 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 399 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 401 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 407 0x00000402 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 411 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 413 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 453 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 469 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 473 0x00000400 0x00000403 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 499 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 542 0x00000400 0x00000403 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 546 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 548 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 570 0x00000400 0x00000403 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 572 0x00000402 0x00000403 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 617 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 678 0x00000400 0x00000407 0x0250001d 45
> 0 9
> 7287878 0x0700001daa3cca68 697 0x00000400 0x00000407 0x0250001d 45
> 0 9
>
> Comments please!!
>
> And if possible, a tip where monitor the amount of the same "file
> descriptor" showed by "onstat -g opn"
>
> Regards
> Cesar
>
>
> *******************************************************************************@@NL