modutils - bug ;)

Krzysztof G. Baranowski kgb w manjak.knm.org.pl
Pon, 28 Wrz 1998, 17:46:02 CEST


On Mon, 28 Sep 1998, Wojtek Slusarczyk wrote:

> wyhashowanie linijki z SMP. Dalej wyedytuj include/linux/task.h i ustaw
> 3072 jako max task, dla userow (MAX_TASKS_PER_UER NR_TASKS/4), dla roota
> zostaw jakies 16 ... dalej w rc.local sprobuj forsowac:
> echo 32767 >/proc/sys/fs/file-max
Marnujesz cenna 'kernel memory'.

> echo 32767 >/proc/sys/fs/inode-max 
Tutaj tez...

Generalnie z tymi wartosciami to jest tak. Pamiec zuzywana przez
inody (struct inode) czy uchwyty plikow alokowana jest automatycznie,
jednakze raz zaalokowana nie jest zwalniana. Te limity mowia
kernelowi, kiedy ma zaczac uwalniac troche pamieci. Rationale:

W grow_inodes() w fs/inode.c jest cos takiego:

	if (inodes_stat.nr_inodes > max_inodes)
		inodes_stat.preshrink = 1;

gdzie max_inodes to jest wartosc zawarta w /proc/sys/fs/inode-max, a
inodes_stat to sa lokalne statystyki.

A try_to_free_inodes() robi cos takiego:

        if (inodes_stat.preshrink)
                goto preshrink;
        [...]
	preshrink:
		[...]			       
                prune_dcache(found);   /* prune_dcache() zajmuje sie
					  zwalnianiem cache'a */

Zastanawiam sie po co na dzien dobry tak srubujesz te wartosci.


> (tutaj nie jestem pewien ale indow chyba powinno byc 2x wiecej niz 
> plikow -> KGB niech sie wypowie na ten temat ;) 
Zdecydowanie wiecej. Sockety, na przyklad, tez chodza 'na inodach'.

Kris
-- 
Ojciec Hihotnik Trzeci, Szesciotysiecznik, HMS, Jego Wysokość
Prezes Klubu Nieszkodliwych Manjaków, Krzysztof G. Baranowski
a.k.a. KGB.                          <http://www.knm.org.pl/>



Więcej informacji o liście dyskusyjnej pld-devel-pl