You should not run a Linux system without swap. If a process tries to allocate memory and no more real memory is available and also no swap OOM will start killing. It's a workstation I guess?
-of
Dave Mitchell davem@iabyn.com schrieb:
I've recently upgraded my F11 system's RAM from 1Gb to 2Gb, and at the same time removed the swap device from /etc/fstab. Since then I'm getting the OOM killer killing off random processes after a few days' use, even when memory usage is (apparently) low.
Can anyone advise me what's causing this?
Its a 32-bit system, and I have a suspicion its something to do with low memory, but the tips I've found via Google seem to refer to the kernel parameter /proc/sys/vm/lower_zone_protection, which no longer exists. Further googling implies that this has been replaced with /proc/sys/vm/lowmem_reserve_ratio, but I can't make head nor tail of its documentation.
Here is the state of my system after firefox and metacity were killed off, and I'd restarted firefox:
# free -l total used free shared buffers cached Mem: 2053480 1364452 689028 0 2048 965144 Low: 875028 866216 8812 High: 1178452 498236 680216 -/+ buffers/cache: 397260 1656220 Swap: 0 0 0
# cat /proc/meminfo MemTotal: 2053480 kB MemFree: 662628 kB Buffers: 1816 kB Cached: 968580 kB SwapCached: 0 kB Active: 704108 kB Inactive: 586296 kB Active(anon): 602384 kB Inactive(anon): 503044 kB Active(file): 101724 kB Inactive(file): 83252 kB Unevictable: 8 kB Mlocked: 8 kB HighTotal: 1178452 kB HighFree: 653708 kB LowTotal: 875028 kB LowFree: 8920 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 140 kB Writeback: 0 kB AnonPages: 320048 kB Mapped: 66756 kB Slab: 55960 kB SReclaimable: 17312 kB SUnreclaim: 38648 kB PageTables: 11492 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 1026740 kB Committed_AS: 1810392 kB VmallocTotal: 122880 kB VmallocUsed: 24236 kB VmallocChunk: 83532 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 12280 kB DirectMap2M: 897024 kB
From /var/log/messages:
Apr 16 12:12:58 pigeon kernel: Xorg invoked oom-killer: gfp_mask=0x201d4, order=0, oomkilladj=0 Apr 16 12:12:58 pigeon kernel: Xorg cpuset=/ mems_allowed=0 Apr 16 12:12:58 pigeon kernel: Pid: 1844, comm: Xorg Not tainted 2.6.30.10-105.2.23.fc11.i686.PAE #1 Apr 16 12:12:58 pigeon kernel: Call Trace: Apr 16 12:12:58 pigeon kernel: [<c048b7a5>] oom_kill_process+0x6e/0x1f2 Apr 16 12:12:58 pigeon kernel: [<c048bd54>] ? select_bad_process+0x87/0xce Apr 16 12:12:58 pigeon kernel: [<c048be0e>] __out_of_memory+0x73/0x82 Apr 16 12:12:58 pigeon kernel: [<c048be80>] out_of_memory+0x63/0x88 Apr 16 12:12:58 pigeon kernel: [<c048e0a1>] __alloc_pages_internal+0x2e8/0x38a Apr 16 12:12:58 pigeon kernel: [<c0488bd1>] __page_cache_alloc+0x16/0x18 Apr 16 12:12:58 pigeon kernel: [<c0489a43>] read_cache_page_async+0x34/0xfd Apr 16 12:12:58 pigeon kernel: [<c0495eea>] ? shmem_readpage+0x0/0x36 Apr 16 12:12:58 pigeon kernel: [<c0489b1d>] read_cache_page+0x11/0x49 Apr 16 12:12:58 pigeon kernel: [<f821a134>] i915_gem_object_get_pages+0x91/0xdc [i915] Apr 16 12:12:58 pigeon kernel: [<f821bc8b>] i915_gem_object_bind_to_gtt+0x162/0x1f6 [i915] Apr 16 12:12:58 pigeon kernel: [<f821cbb5>] i915_gem_mmap_gtt_ioctl+0x189/0x1cc [i915] Apr 16 12:12:58 pigeon kernel: [<f81bbbf8>] drm_ioctl+0x202/0x292 [drm] Apr 16 12:12:58 pigeon kernel: [<f821ca2c>] ? i915_gem_mmap_gtt_ioctl+0x0/0x1cc [i915] Apr 16 12:12:58 pigeon kernel: [<c05485bc>] ? inode_has_perm+0x60/0x6a Apr 16 12:12:58 pigeon kernel: [<c04bd01e>] vfs_ioctl+0x5c/0x76 Apr 16 12:12:58 pigeon kernel: [<c04bd4a5>] do_vfs_ioctl+0x46d/0x4a7 Apr 16 12:12:58 pigeon kernel: [<c05488d7>] ? selinux_file_ioctl+0x43/0x46 Apr 16 12:12:58 pigeon kernel: [<c04bd525>] sys_ioctl+0x46/0x66 Apr 16 12:12:58 pigeon kernel: [<c0408474>] sysenter_do_call+0x12/0x28 Apr 16 12:12:58 pigeon kernel: Mem-Info: Apr 16 12:12:58 pigeon kernel: DMA per-cpu: Apr 16 12:12:58 pigeon kernel: CPU 0: hi: 0, btch: 1 usd: 0 Apr 16 12:12:58 pigeon kernel: CPU 1: hi: 0, btch: 1 usd: 0 Apr 16 12:12:58 pigeon kernel: Normal per-cpu: Apr 16 12:12:58 pigeon kernel: CPU 0: hi: 186, btch: 31 usd: 185 Apr 16 12:12:58 pigeon kernel: CPU 1: hi: 186, btch: 31 usd: 164 Apr 16 12:12:58 pigeon kernel: HighMem per-cpu: Apr 16 12:12:58 pigeon kernel: CPU 0: hi: 186, btch: 31 usd: 166 Apr 16 12:12:58 pigeon kernel: CPU 1: hi: 186, btch: 31 usd: 33 Apr 16 12:12:58 pigeon kernel: Active_anon:175891 active_file:49820 inactive_anon:143709 Apr 16 12:12:58 pigeon kernel: inactive_file:16710 unevictable:2 dirty:2 writeback:0 unstable:0 Apr 16 12:12:58 pigeon kernel: free:100672 slab:14946 mapped:17942 pagetables:3270 bounce:0 Apr 16 12:12:58 pigeon kernel: DMA free:3548kB min:64kB low:80kB high:96kB active_anon:2516kB inactive_anon:2704kB active_file:0kB inactive_file:0kB unevictable:0kB present:15868kB pages_scanned:2647 all_unreclaimable? no Apr 16 12:12:58 pigeon kernel: lowmem_reserve[]: 0 865 2007 2007 Apr 16 12:12:58 pigeon kernel: Normal free:3400kB min:3728kB low:4660kB high:5592kB active_anon:387844kB inactive_anon:387984kB active_file:92kB inactive_file:0kB unevictable:0kB present:885944kB pages_scanned:675605 all_unreclaimable? no Apr 16 12:12:58 pigeon kernel: lowmem_reserve[]: 0 0 9134 9134 Apr 16 12:12:58 pigeon kernel: HighMem free:395740kB min:512kB low:1740kB high:2972kB active_anon:313204kB inactive_anon:184120kB active_file:199188kB inactive_file:66840kB unevictable:8kB present:1169244kB pages_scanned:0 all_unreclaimable? no Apr 16 12:12:58 pigeon kernel: lowmem_reserve[]: 0 0 0 0 Apr 16 12:12:58 pigeon kernel: DMA: 1*4kB 20*8kB 19*16kB 16*32kB 6*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 1*2048kB 0*4096kB = 3540kB Apr 16 12:12:58 pigeon kernel: Normal: 328*4kB 15*8kB 8*16kB 1*32kB 10*64kB 1*128kB 0*256kB 0*512kB 1*1024kB 0*2048kB 0*4096kB = 3384kB Apr 16 12:12:58 pigeon kernel: HighMem: 2421*4kB 20044*8kB 9039*16kB 2230*32kB 153*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 395812kB Apr 16 12:12:58 pigeon kernel: 263903 total pagecache pages Apr 16 12:12:58 pigeon kernel: 0 pages in swap cache Apr 16 12:12:58 pigeon kernel: Swap cache stats: add 0, delete 0, find 0/0 Apr 16 12:12:58 pigeon kernel: Free swap = 0kB Apr 16 12:12:58 pigeon kernel: Total swap = 0kB Apr 16 12:12:58 pigeon kernel: 521939 pages RAM Apr 16 12:12:58 pigeon kernel: 294613 pages HighMem Apr 16 12:12:58 pigeon kernel: 8602 pages reserved Apr 16 12:12:58 pigeon kernel: 157846 pages shared Apr 16 12:12:58 pigeon kernel: 347371 pages non-shared Apr 16 12:12:58 pigeon kernel: Out of memory: kill process 6638 (run-mozilla.sh) score 459935 or a child Apr 16 12:12:58 pigeon kernel: Killed process 6653 (firefox)
(and so on).
-- There's a traditional definition of a shyster: a lawyer who, when the law is against him, pounds on the facts; when the facts are against him, pounds on the law; and when both the facts and the law are against him, pounds on the table.
-- Eben Moglen referring to SCO
users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
On Fri, Apr 16, 2010 at 03:40:51PM +0200, Oliver Falk wrote:
You should not run a Linux system without swap. If a process tries to allocate memory and no more real memory is available and also no swap OOM will start killing. It's a workstation I guess?
yes
The point being that I'm *nowhere near* exhausting 2Gb of RAM, and the OOM is still playing Russian Roulette with my system.
I removed swap for the following reason:
Originally the system had 1 Gb RAM, ran FC9 (IIRC) and everything was fine. Then I installed F11, and enabled disk encryption. After this, whenever memory usage rose to about 512Mb (ie 50%), the system would start swapping everything out like mad. This would usually completely lock my system up up for a minute or more (cursor frozen etc). I played around with the vm.swappines setting, first setting it to 20 and eventually 0%, and this made no significant difference. So I bought more RAM, doubling it from 1Gb to 2Gb. The swap freezing continued, only now when usage reached nearly 1Gb. So I turned off swap, and now the system will allow me to allocate up to 2Gb without mad freezy swapping. *Except* that it also decides that there there isn't any low memory left (or something) and decides to kill things off instead.
So, Dear Linux Kernel: I have 2Gb of RAM on a 32-bit OS; how do I set things up so that I can run processes that collectively run up 1.5Gb (say) of VM usage without my system freezing or random processes being killed?
(In all the above I'm taking of course about usage ignoring buffer/cache usage, i.e. what the '-/+ buffers/cache' line of free reports).