Bug#452931: linux-image-2.6.18-5-686: too much memory for EXT3 inode-cache in slab

2008-11-22 Thread Moritz Muehlenhoff
On Mon, Nov 26, 2007 at 09:08:19AM +0100, Ralf Schlatterbeck wrote:
 Package: linux-image-2.6.18-5-686
 Version: 2.6.18.dfsg.1-13etch4
 Severity: important
 
 On two very different systems (a desktop system and one running a
 database application) running debian kernel 2.6.18-5 I'm observing the
 following behaviour:

Does this error still occur with more recent kernel versions?

If you're running Etch, could you try to reproduce this bug
with the 2.6.24 based kernel added in 4.0r4?
http://packages.qa.debian.org/l/linux-2.6.24.html

Cheers,
Moritz



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#452931: linux-image-2.6.18-5-686: too much memory for EXT3 inode-cache in slab

2007-11-26 Thread Ralf Schlatterbeck
Package: linux-image-2.6.18-5-686
Version: 2.6.18.dfsg.1-13etch4
Severity: important

On two very different systems (a desktop system and one running a
database application) running debian kernel 2.6.18-5 I'm observing the
following behaviour:

System accumulates *large* amounts of slab-memory in EXT3 Inode-Cache,
example-output from the command slabtop:

 Active / Total Objects (% used): 1559187 / 1578880 (98.8%)
 Active / Total Slabs (% used)  : 135874 / 135878 (100.0%)
 Active / Total Caches (% used) : 94 / 140 (67.1%)
 Active / Total Size (% used)   : 529040.32K / 531151.94K (99.6%)
 Minimum / Average / Maximum Object : 0.01K / 0.34K / 128.00K

  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME   
907400 905957  99%0.49K 1134258453700K ext3_inode_cache
565964 565089  99%0.13K  19516   29 78064K dentry_cache
 62064  56390  90%0.05K862   72  3448K buffer_head
  7756   7752  99%0.27K554   14  2216K radix_tree_node
  6313   2673  42%0.06K107   59   428K size-64

As you can see, this system has accumulated more that 400MB of
Slab-Memory (on a system with 1GB of memory, i.e. half of the whole
memory of the system just for caching inodes!). This memory is not
freed, even in an out-of-memory situation, the system rather invokes the
out-of-memory-killer (OOM-Killer) before freeing this memory.

The only way I can reclaim this memory is running

echo 2  /proc/sys/vm/drop_caches

After issuing this command, slab-usage goes back to sane values:

 Active / Total Objects (% used): 87942 / 117616 (74.8%)
 Active / Total Slabs (% used)  : 3532 / 3542 (99.7%)
 Active / Total Caches (% used) : 96 / 140 (68.6%)
 Active / Total Size (% used)   : 10961.59K / 13940.84K (78.6%)
 Minimum / Average / Maximum Object : 0.01K / 0.12K / 128.00K

  OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME   
 61632  52088  84%0.05K856   72  3424K buffer_head
  8874   2227  25%0.13K306   29  1224K dentry_cache
  8302   7748  93%0.27K593   14  2372K radix_tree_node
  6254   2533  40%0.06K106   59   424K size-64
  3780   3752  99%0.04K 45   84   180K sysfs_dir_cache
  2806   2790  99%0.08K 61   46   244K vm_area_struct
  2712   2647  97%0.03K 24  11396K size-32
  2028892  43%0.02K 12  16948K dm_io
  1696568  33%0.49K2128   848K ext3_inode_cache

On the desktop-system the time until the inode-cache is using so much
memory takes several days. On the database server I'm doing a nightly
backup that copies 20 files -- after the copying the inode-cache is
using more than 400MB of memory as in the above output of slabtop.

Is this a bug present in upstream-kernels too or something seen only in
debians build?

Is anybody else seeing this?

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-5-686
Locale: LANG=en_US.ISO-8859-15, LC_CTYPE=en_US.ISO-8859-15 (charmap=ISO-8859-15)

Versions of packages linux-image-2.6.18-5-686 depends on:
ii  coreutils 5.97-5.3   The GNU core utilities
ii  debconf [debconf-2.0] 1.5.11 Debian configuration management sy
ii  initramfs-tools [linux-initra 0.85h  tools for generating an initramfs
ii  module-init-tools 3.3-pre4-2 tools for managing Linux kernel mo

Versions of packages linux-image-2.6.18-5-686 recommends:
pn  libc6-i686none (no description available)

-- debconf information:
  linux-image-2.6.18-5-686/postinst/create-kimage-link-2.6.18-5-686: true
  linux-image-2.6.18-5-686/postinst/old-system-map-link-2.6.18-5-686: true
  linux-image-2.6.18-5-686/preinst/elilo-initrd-2.6.18-5-686: true
  linux-image-2.6.18-5-686/postinst/bootloader-test-error-2.6.18-5-686:
  linux-image-2.6.18-5-686/postinst/depmod-error-2.6.18-5-686: false
* linux-image-2.6.18-5-686/preinst/already-running-this-2.6.18-5-686:
  linux-image-2.6.18-5-686/preinst/bootloader-initrd-2.6.18-5-686: true
  linux-image-2.6.18-5-686/postinst/old-dir-initrd-link-2.6.18-5-686: true
  linux-image-2.6.18-5-686/postinst/old-initrd-link-2.6.18-5-686: true
  linux-image-2.6.18-5-686/preinst/failed-to-move-modules-2.6.18-5-686:
  linux-image-2.6.18-5-686/preinst/abort-install-2.6.18-5-686:
  linux-image-2.6.18-5-686/prerm/would-invalidate-boot-loader-2.6.18-5-686: true
  linux-image-2.6.18-5-686/postinst/bootloader-error-2.6.18-5-686:
  linux-image-2.6.18-5-686/preinst/lilo-initrd-2.6.18-5-686: true
  linux-image-2.6.18-5-686/preinst/overwriting-modules-2.6.18-5-686: true
  shared/kernel-image/really-run-bootloader: true
  linux-image-2.6.18-5-686/postinst/depmod-error-initrd-2.6.18-5-686: false