File Descriptors


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users File Descriptors
# 1  
Old 12-17-2002
File Descriptors

Hello all,

A few questions on file descriptors ...

scenario : Sun Ultra 30 with Sun OS 5.5.1 , E250 with Solaris 2.6

In one of my servers, the file descriptor status from the soft limit and hard limits are 64 and 1024 respectively for root user.

Is the soft limit (64) represents the maximum no of file descriptors that can be created by a SINGLE PROCESS of corresponding user ??

If this is true, how to identify the maximum resorce limit of a user ??

I had a look on

/usr/proc/bin/pfiles <pid> and

/proc/<pid>/fd ...

I also checked these statuses in another server which is running on Solaris 2.6.

I selected one oracle application pid, and it showed
Current rlimit : 1024 file descriptors

But when I log into oracle user and tried the limit, it was showing 64 and 1024 as soft and hard limits...

This is confusing me ...

I had another instance of file descriptor mismatch
( that of sysdef and limit ... sysdef shows ffffffff:fffffffd , but the limit shows 64:1024 !??? )

Could you please throw some light on these....

Is there any way to identify the no of active (open) file descriptors for a user and the limits ....
My aim is to get an early notification on file descriptor usage and prevent downtime...


(One of the server is SunOS 5.5.1, so I cant run a lsof.)


Thanks in Advance...
# 2  
Old 12-17-2002
You're worried about file descriptors?

File descriptors use a trivial amount of memory and I don't understand what it is that you're worried about. Each time you remove a file descriptor from your system you get back the space required to store two shorts and one pointer. Are you really that tight on swap space?

Your average fd will also require a file table entry, but even that isn't a real big deal. If I open() a file, and then dup()it 100 times, I will have 101 fd's all pointing at the same file table entry. That would be a little crazy, but lots of processes have stdout and stderr pointing to the same file table entry, so assuming a correspondence between fd's and open files is wrong.

Any process can change its soft limit to any value that does not exceed its hard limit. Any process may lower its hard limit. A root process can raise its hard limit.

We have some 5.5.1 systems and we use lsof on them all the time. But pfiles in included with 5.5.1 and might be a better choice for you anyway.
# 3  
Old 12-18-2002
Hi,

Thanks for the information. I am sorry, my question was not clear enough.

I was not worried the memory usage.

Infact, I presumed that there is a user wide limitation on no of file descriptors.
So if I can get the data related to file descriptors, I can get an early warning on "too many open files ", and set the limits accordignly.

Your message is clear that, there is a process wide limitation, and a process can raise the soft limit as long as it does not cross the hard limit.

But what about the user wide settings.. ?


Thanks...
# 4  
Old 12-18-2002
First, there are no user wide settings on fds. Each process can use the hard-limit of fds.

Too many open files can be a problem with same versions of unix since there is only one file table for everybody. If it fills on HP-UX, open() calls will fail. A command like "sar -v 1 4" can be used to see the table size. But sun dynamically expands the file table. The sar command will make you think it is full. But it will expand as needed.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Questions about file descriptors

Hi, I'm playing with KSH I entered following command in terminal { echo "stdout" >&1; echo "stderr" >&2; } > out And I get only stoud in a new file out. My question is: Where did my stderr vanish ? (5 Replies)
Discussion started by: solaris_user
5 Replies

2. UNIX for Dummies Questions & Answers

Semaphores and File Descriptors

What is the difference between a file descriptor and a semaphore? My basic understanding is: - a file descriptor is a small positive integer that the system uses instead of the file name to identify an open file or socket. - a semaphore is a variable with a value that indicates the... (1 Reply)
Discussion started by: Mr_Webster
1 Replies

3. HP-UX

exec and file descriptors

Hi, I speak and write english more or less, so I hope my asking be clear. :) In the company I am working, they are using control-m software to lunch shell scripts. So i put this command in all shell scripts: export LOGFILE_tmp=$PRODUC_DATA/tmp/${SCRIPT}_${PAIS}_`date... (0 Replies)
Discussion started by: anamcara
0 Replies

4. UNIX for Dummies Questions & Answers

Write/read to file descriptors

Is it possible to write to file descriptor 0 and read from 1 or 2? How could this be implemented? (3 Replies)
Discussion started by: machshev
3 Replies

5. UNIX for Dummies Questions & Answers

how to list the files using File Descriptors

hello, I have written a script named listall.sh with the following codes init. #!/bin/bash PATH="/proj/cmon/$1" echo $PATH if ; then echo "Usage: $0 ***" exit 1 else ls -l $PATH/*.sc fi Here there are 3 subdirectories (namely - src, data and jobs)under /proj/cmon, so... (2 Replies)
Discussion started by: shyjuezy
2 Replies

6. UNIX for Advanced & Expert Users

File Descriptors + cron

Hi All, This thread is going to be a discussion basically bringing out more information from the experts on cron jobs and the associated file handles. So, here is the question. There is definitely a constant ' n ' as the maximum number of file handles alloted to a process ' p '. Will... (7 Replies)
Discussion started by: matrixmadhan
7 Replies

7. Programming

Sockets and File descriptors

I am in a Systems programming class this semester, and our current project is to write a program utilizing sockets and fork. For the project, I decided to make my own instant messaging program. I have the code completed, but I have a problem that keeps old clients from communicating with new... (3 Replies)
Discussion started by: gstlouis
3 Replies

8. Shell Programming and Scripting

Multiple co-processor file descriptors

I have a script that creates a KSH co-process for Oracle sqlplus and I am presently interacting with it via print -p and read -p. I also need to interact with another Oracle database what isn't permitted to have any direct connection to the first. Presently, I simply disconnect from the first... (10 Replies)
Discussion started by: tmarikle
10 Replies

9. UNIX for Dummies Questions & Answers

file descriptors

i m trying to learn processes in unix and i've been reading this but i don't quite get it. its regarding file descriptors. : each is a part of file pointers, they point to another area. indexes into an Operating system maintained table called "file descriptor table". one table per process. may... (3 Replies)
Discussion started by: a25khan
3 Replies

10. Programming

File Descriptors

Hi, I have written a daemon process, to perform certain operations in the background. For this I have to close, the open file descriptors, Does anybody know how to find out the number of open file descriptors ? Thanks in Advance, Sheetal (2 Replies)
Discussion started by: s_chordia
2 Replies
Login or Register to Ask a Question