Plýtvá tmpfs (ramlog) místem?

romanio

Plýtvá tmpfs (ramlog) místem?
« kdy: 06. 10. 2016, 19:04:25 »
Ahoj,
na Debianu Wheezy na PPC platformě jsem nastavil logování do ramlogu. Protože jsem nedokázal odhadnout, jak velký bude potřeba, nastavil jsem pro začátek 20MB s tím, že to budu sledovat a případně to upravím směrem dolů. Stav je nyní :
Kód: [Vybrat]
$ df -ht tmpfs
Souborový systém Velikost Užito Volno Uži% Připojeno do
ramlog-tmpfs          20M  4,6M   16M  23% /var/log
Zjistil jsem však, že velikost všech souborů je celkem asi 800kB. Nejmenší alokovaný prostor proti 4kb na x86 je 64kB:
Kód: [Vybrat]
$ ls -lsh
celkem 3,2M
   0 drwxr-xr-x 2 root root  160 říj  1 01:00 apt
128K -rw-r----- 1 root adm   90K říj  6 18:08 auth.log
 64K -rw-r----- 1 root adm  2,0K říj  6 01:02 daemon.log
 64K -rw-r--r-- 1 root adm   14K říj  5 18:33 dmesg
 64K -rw-r--r-- 1 root root  50K říj  5 17:45 dpkg.log
128K -rw-r----- 1 root adm   75K říj  6 16:31 kern.log
   0 -rw-r----- 1 root adm     0 srp 23 21:59 lpr.log
 64K -rw-r----- 1 root adm   63K říj  6 01:00 messages
   0 drwxr-xr-x 2 root root  100 srp 23 21:59 news
 64K -rw-r--r-- 1 root root  728 říj  6 01:00 ramlog
 64K -rw-r----- 1 root adm   444 říj  6 16:31 syslog
Zkráceno!
Dle toho, co jsem zatím zjistil, to souvisí s:
Kód: [Vybrat]
$ getconf PAGE_SIZE
65536
$ cat /proc/cpuinfo
processor : 0
cpu : APM82181
clock : 800.000008MHz
revision : 28.131 (pvr 12c4 1c83)
bogomips : 1600.00
timebase : 800000008
platform : PowerPC 44x Platform
model : amcc,apollo3g
Memory : 256 MB
Chci se zeptat:
1. Velikost PAGE_SIZE se dá nějak nastavit, nebo je "zadrátovaná" v kernelu pro danou platformu ?
2. Dá se věřit v případě tmpfs příkazům df, ls -s co se týče alokovaného místa (opravdu ty logy zabírají tolik)?
3. pokud ano, není to trochu plýtvání ? Chápu že s X GB RAM to nikoho netrápí, ale s mými 256MB se každý volný hodí.
Díky.
« Poslední změna: 06. 10. 2016, 22:22:03 od Petr Krčmář »


Re:tmpfs ( ramlog ) plýtvá místem ?
« Odpověď #1 kdy: 06. 10. 2016, 21:53:19 »
Velikost (normální) stránky je konfigurační volbou jádra při jeho překladu. Tvé jádro má nastaveno PPC_64K_PAGES. Pro malou RAM je to podle mě skutečně plýtvání.

arrange

Re:Plýtvá tmpfs (ramlog) místem?
« Odpověď #2 kdy: 07. 10. 2016, 18:34:39 »
Trochu mimo dotaz: podle mě není vůbec jisté, že ramlog šetří zápisy na kartu/disk.

Logy se totiž zapisují pomocí O_APPEND, takže přijdou ZA konec souboru.
Ramlog naproti tomu zapisuje jednou za hodinu pomocí rsync, takže kopíruje CELÝ soubor. To může být v závislosti na velikosti souborů i řádově víc než "append".

Ramlog má i jiné problémy, např. že kopíruje soubory do/z RAM právě v době, kdy se do nich nejvíce zapisuje (start/stop systému); v případě pádu systému nejsou logy synchronizované a není možné zjistit příčinu pádu atd.

romanio

Re:tmpfs ( ramlog ) plýtvá místem ?
« Odpověď #3 kdy: 07. 10. 2016, 21:55:42 »
Velikost (normální) stránky je konfigurační volbou jádra při jeho překladu. Tvé jádro má nastaveno PPC_64K_PAGES. Pro malou RAM je to podle mě skutečně plýtvání.
Díky za odpověď. V úvodu jsem nenapsal, že se jedná o NAS WD Mybook, na který jsem instaloval čistý systém vč. jádra. Teď jsem hledal informace, jestli by PAGE_SIZE mohlo být menší a narazil na stránku
http://n-dimensional.de/blog/2012/05/01/wd-mybook-live-data-rescue/
kde je odpověď, proč je to zrovna takhle : The Linux kernel driver for the ext4 filesystem only handles filesystems with a block size between 512 and PAGE_SIZE. No a datový oddíl má skutečně block size 64kB, takže důvod je jasný (původní záměr výrobce) i skutečnost, že se s tím budu muset smířit.
Možná bystačilo vykoumat, jak nechat v ramlogu pouze aktuální logy, ale aby na hdd byly všechny, tj včetně odrotovaných. Neřešil jste to někdo?
Citace
Trochu mimo dotaz: podle mě není vůbec jisté, že ramlog šetří zápisy na kartu/disk.
Tohle mě netrápí, ramlog tam mám proto, aby se disk ve standby neroztáčel kvůli každému zápisu do logů.