Bekijk de volledige versie : Błąd: __alloc_pages
Od jakiegoś czasu w logu routera pojawia się błąd o treści:
__alloc_pages: 0-order allocation failed (gfp=0x20/0)
(kilkaset takich wpisów pod rząd).
Co to może być, jak sprawdzić przyczynę i ją usunąć ?
Odmontowanie dysku i sprawdzenie e2fsck nic nie daje, tzn. dysk nie ma błędów, ale po ponownym zamontowaniu i uruchomieniu rtottenta błąd się powtarza.
Router to 500W, a dysk to 3.5" WD MyBook
Generally, when you get this on scripts written in such "high level"
languages, this is because you fill variables with a file which does
not fit into memory. I have often seen this in people's perl scripts,
and sometimes even in shell scripts. Eg:
count=$(cat file)
Where file is unexpectedly big, or even a link to /dev/zero. This is
an excellent OOM trigger.
You can use ulimit (man bash) to limit the amount of memory your script
can use. At least it will not make the system go ill.
0 order allocation failed means the kernel couldn't allocate even one
page of memory. Unless the machines are pretty much out of memory,
that should never happen.
Niech zgadnę, nie masz swapu?
Niech zgadnę, nie masz swapu?
Pudło.
Mam swapa - 512MB na pendrive
[droot@Wegorz root]$ fdisk -l
Disk /dev/scsi/host0/bus0/target0/lun0/disc: 1031 MB, 1031798272 bytes
255 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 63 506016 82 Linux swap
/dev/scsi/host0/bus0/target0/lun0/part2 64 125 498015 83 Linux
Disk /dev/scsi/host1/bus0/target0/lun0/disc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/scsi/host1/bus0/target0/lun0/part1 1 60801 488384001 83 Linux
i free:
[droot@Wegorz root]$ free
total used free shared buffers cached
Mem: 30160 29324 836 0 1548 13812
-/+ buffers/cache: 13964 16196
Swap: 506008 14484 491524
błędy pojawiają się po uruchomieniu rtorrenta...