Hi all, I've stumbled on a problem, on a test machine, using openSUSE 11.1 x86_64 system with 512MB of RAM. This test was just to confirm a friends claim that he was unable to get a working server with that kind of hardware. The problem is that openSUSE uses all of the memory for simple tasks, like fsck. Just as an example, here is an strace of a fsck.vfat on a filesystem. For this I just left the system with 90MB free memory before I ran this command: 2090 execve("/sbin/fsck.vfat", ["fsck.vfat", "/dev/sdb1"], [/* 20 vars */]) = 0 2090 brk(0) = 0x60f000 2090 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f093726f000 2090 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f093726e000 2090 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 2090 open("/etc/ld.so.cache", O_RDONLY) = 3 2090 fstat(3, {st_mode=S_IFREG|0644, st_size=32722, ...}) = 0 2090 mmap(NULL, 32722, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f0937266000 2090 close(3) = 0 2090 open("/lib64/libc.so.6", O_RDONLY) = 3 2090 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\346\1\0\0\0\0\0"..., 832) = 832 2090 fstat(3, {st_mode=S_IFREG|0755, st_size=1406248, ...}) = 0 2090 mmap(NULL, 3506872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0936cfa000 2090 fadvise64(3, 0, 3506872, POSIX_FADV_WILLNEED) = 0 2090 mprotect(0x7f0936e49000, 2097152, PROT_NONE) = 0 2090 mmap(0x7f0937049000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14f000) = 0x7f0937049000 2090 mmap(0x7f093704e000, 17080, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f093704e000 2090 close(3) = 0 2090 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0937265000 2090 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f0937264000 2090 arch_prctl(ARCH_SET_FS, 0x7f09372646f0) = 0 2090 open("/dev/urandom", O_RDONLY) = 3 2090 read(3, "\25\v\205\210\266\247\351\223", 8) = 8 2090 close(3) = 0 2090 mprotect(0x7f0937049000, 16384, PROT_READ) = 0 2090 mprotect(0x60b000, 4096, PROT_READ) = 0 2090 mprotect(0x7f0937270000, 4096, PROT_READ) = 0 2090 munmap(0x7f0937266000, 32722) = 0 2090 fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(5, 1), ...}) = 0 2090 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 2090 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f093726d000 2090 write(1, "dosfsck 2.11, 12 Mar 2005, FAT32"..., 38) = 38 2090 open("/dev/sdb1", O_RDONLY) = 3 2090 fstat(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 17), ...}) = 0 2090 lseek(3, 0, SEEK_SET) = 0 2090 read(3, "\353X\220mkdosfs\0\0\2 \0\2\0\0\0\0\370\0\0?\0\377\0\0\0\0\0"..., 512) = 512 2090 lseek(3, 160039240192, SEEK_SET) = 160039240192 2090 brk(0) = 0x60f000 2090 brk(0x630000) = 0x630000 2090 read(3, "\353R\220NTFS \0\2\10\0\0\0\0\0\0\0\370\0\0?\0\377\0?\0\0\0"..., 512) = 512 2090 lseek(3, 3072, SEEK_SET) = 3072 2090 read(3, "\353X\220mkdosfs\0\0\2 \0\2\0\0\0\0\370\0\0?\0\377\0\0\0\0\0"..., 512) = 512 2090 lseek(3, 512, SEEK_SET) = 512 2090 read(3, "RRaA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512 2090 mmap(NULL, 39055360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f09347bb000 2090 lseek(3, 16384, SEEK_SET) = 16384 2090 read(3, "\370\377\377\17\377\377\377\17\370\377\377\17\377\377\377\17\211\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 39053012) = 39053012 2090 mmap(NULL, 39055360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f093227c000 2090 lseek(3, 39069696, SEEK_SET) = 39069696 2090 read(3, <unfinished ...> 2090 +++ killed by SIGKILL +++ The latest SIGKILL was generated by ooom-kill. Linux kernel kills the process in order to get memory. There were no programs running, as this command was issued under init 1 The system has no SWAP If you check the final two mmap's, fsck maps 80MB of memory just to check a simple vfat filesystem. What is this ?! 80 MB. I used to run a full system on this, including fsck's. As I stated, this is just an example. Numerous other programs take a lot of memory making a system with 512MB of RAM almost unusable. Even so with a 1GB of RAM ooo-kill is sometimes called to free up RAM. Has anyone else noticed this ? I've googled a bit but unfortunately, I found no one using 512MB of RAM with a 64bits System. -- Rui Santos http://www.ruisantos.com/ Veni, vidi, Linux! -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org