kernel: VFS: No free inodes - contact Linus

kernel: VFS: No free inodes - contact Linus

Post by Matt Corddr » Fri, 22 Jan 1999 04:00:00



Well... the subject really explains my problem. I get hundreds of
thousands of these at console and in /var/log/messages.

I'm running a chat server on a 2.0.36 redhat box. It's a p2-450 with
512m of ram, an adaptec 7890 + quantum 4.5 lvd, and a tulip 21140 nic.
This error occurs when I start stressing my server, which involves a
large number of open tcp connections  -- about 2300 or so. I run 40
'chatservers' on ports 5000-5039 to handle the load.

One of our developers modified the kernel to get more user processes and
open files (he followed instructions from the net... I can find out the
changes exactly if need be). A 'ulimit -a' spits out:

core file size (blocks)  1000000
data seg size (kbytes)   unlimited
file size (blocks)       unlimited
max memory size (kbytes) unlimited
stack size (kbytes)      8192
cpu time (seconds)       unlimited
max user processes       1792
pipe size (512 bytes)    8
open files               2048
virtual memory (kbytes)  2105343

The status lines in 'top' looked like this as it was failing:

84 processes: 41 sleeping, 43 running, 0 zombie, 0 stopped
CPU states:  0.9% user, 21.3% system,  0.0% nice, 80.9% idle
Mem:  515440K av, 507048K used,   8392K free,  83040K shrd,  70420K buff
Swap: 128516K av,     88K used, 128428K free                  7348K
cached

If anyone knows what's going on, I'd love some help here!

thanks in advance

matt corddry

 
 
 

kernel: VFS: No free inodes - contact Linus

Post by DaZZ » Sat, 23 Jan 1999 04:00:00



> Well... the subject really explains my problem. I get hundreds of
> thousands of these at console and in /var/log/messages.

> I'm running a chat server on a 2.0.36 redhat box. It's a p2-450 with
> 512m of ram, an adaptec 7890 + quantum 4.5 lvd, and a tulip 21140 nic.
> This error occurs when I start stressing my server, which involves a
> large number of open tcp connections  -- about 2300 or so. I run 40
> 'chatservers' on ports 5000-5039 to handle the load.

inodes are related to your hard disk, not to system resources.

From memory, they are like the "fat" on the Unix filesystem - they are
special blocks where file locations, file size etc are stored.

By default, when you format a Linux partition to ext2 filesystem, you get
1 inode per 4 disk blocks.

This is normally perfectly adequate, but if you have a lot of SMALL files
spread across the disk, you may want to make it 1 inode per 2 disk blocks,
or even 1 inode per disk block.

This, of course, costs space, as inodes aren't used to actually STORE
files on, so you have to find a balance.

If you've run out of inodes, the only soluation I know of is to backup,
reformat the hard disk with a higher percentage of inodes [I'd try 1 inode
per 2 disk blocks}, reinstall, and restore your system. someone may know
of an easier way.

As for how to specify the ration of inodes - man mkfsext2 should tell you.
I'm not at a Linux box right now, or I'd cut and paste it.

DaZZa

 
 
 

kernel: VFS: No free inodes - contact Linus

Post by Pat Thoyt » Sat, 23 Jan 1999 04:00:00




> > Well... the subject really explains my problem. I get hundreds of
> > thousands of these at console and in /var/log/messages.

> > I'm running a chat server on a 2.0.36 redhat box. It's a p2-450 with
> > 512m of ram, an adaptec 7890 + quantum 4.5 lvd, and a tulip 21140 nic.
> > This error occurs when I start stressing my server, which involves a
> > large number of open tcp connections  -- about 2300 or so. I run 40
> > 'chatservers' on ports 5000-5039 to handle the load.

> inodes are related to your hard disk, not to system resources.

> From memory, they are like the "fat" on the Unix filesystem - they are
> special blocks where file locations, file size etc are stored.

That's true but they are also used in other places - sockets use
inodes internally in the kernel too. I think he's probably running out
of space for sockets as that is a very large number of open
connections. I don't know if you can just increase some kernel
parameter to cope with this but I remember seeing that 'contact Linus'
message in the kernel source once, so that file is probably a good
place to start.

Pat Thoyts.

 
 
 

kernel: VFS: No free inodes - contact Linus

Post by Matt Corddr » Sun, 24 Jan 1999 04:00:00


Hmmm... Well, I crashed it again (easy to do -- I'm simulating clients).
Here's the output from 'df -i' when it crashed:

Filesystem           Inodes   IUsed   IFree  %IUsed Mounted on
/dev/sda1            1081344   30952 1050392     3%  /

So I'm not running out of inodes. However, the running out of memory
makes _more_ sense, although according to 'top', I still have some
buffers left, and it doesn't appear to be hitting swap too much.

I'll try the 2.2.0-preX kernel and see if that makes a difference.

Thanks to all who have helped with this!

matt corddry


> MoiN


> > Well... the subject really explains my problem. I get hundreds of
> > thousands of these at console and in /var/log/messages.

> It seems your filesystem has gone out of inodes. This can happen if you
> use to have a lot of small files in one partition. The solution is to find
> the dirs which contain many small files (usually /tmp or under /var) and
> increase the inodes in that partition. ext2fs defaults to one inode per
> 4096 bytes of drive space. So you sould use "mkfs.ext2 -i 2048" or even
> "mkfs.ext2 -i 1024" on that partition *back up your data first!*

>     Ingo
> --
> Starting Java...

 
 
 

kernel: VFS: No free inodes - contact Linus

Post by Haavard Engu » Tue, 26 Jan 1999 04:00:00


| I'm running a chat server on a 2.0.36 redhat box. It's a p2-450 with
| 512m of ram, an adaptec 7890 + quantum 4.5 lvd, and a tulip 21140 nic.
| This error occurs when I start stressing my server, which involves a
| large number of open tcp connections  -- about 2300 or so. I run 40
| 'chatservers' on ports 5000-5039 to handle the load.

What you can do, if you are using v2.0.x of the kernel:

echo "8192" > /proc/sys/kernel/inode-max

Then you have a lot of more inodes to use. I guess inode-max is located
under /proc/sys/fs on 2.1.x(and 2.2.x) versions of the kernel.
You can modify /proc/sys/kernel/file-max in the same way, to get more
files open at once. Just make sure to have inode-max higher than file-max
(2-3 times).

--

 
 
 

1. kernel: VFS: No free inodes - contact Linus

Well... the subject really explains my problem. I get hundreds of
thousands of these at console and in /var/log/messages.

I'm running a chat server on a 2.0.36 redhat box. It's a p2-450 with
512m of ram, an adaptec 7890 + quantum 4.5 lvd, and a tulip 21140 nic.
This error occurs when I start stressing my server, which involves a
large number of open tcp connections  -- about 2300 or so. I run 40
'chatservers' on ports 5000-5039 to handle the load.

One of our developers modified the kernel to get more user processes and
open files (he followed instructions from the net... I can find out the
changes exactly if need be). A 'ulimit -a' spits out:

core file size (blocks)  1000000
data seg size (kbytes)   unlimited
file size (blocks)       unlimited
max memory size (kbytes) unlimited
stack size (kbytes)      8192
cpu time (seconds)       unlimited
max user processes       1792
pipe size (512 bytes)    8
open files               2048
virtual memory (kbytes)  2105343

The status lines in 'top' looked like this as it was failing:

84 processes: 41 sleeping, 43 running, 0 zombie, 0 stopped
CPU states:  0.9% user, 21.3% system,  0.0% nice, 80.9% idle
Mem:  515440K av, 507048K used,   8392K free,  83040K shrd,  70420K buff
Swap: 128516K av,     88K used, 128428K free                  7348K
cached

If anyone knows what's going on, I'd love some help here!

thanks in advance

matt corddry

2. Which USB drivers of Olympus c-3000z camera?

3. VFS: No free inodes - contact Linus

4. Xircom PCMCIA network support for Linux ?

5. How can I run KDE/GNOME with Exceed/Reflection X ?

6. Error: VFS: No free inodes, contact Linus

7. Everything looks too large in X (on Laptop LCD)

8. VFS: No free inodes - contact Linus

9. Help: no free inodes - contact Linus

10. Tell Linus/Contact Linus

11. VFS: No free dquots - contact mvw@mcs.ow.org