Portál AbcLinuxu, 4. května 2025 13:22
losetup /dev/loop0 /swap ; mkswap /dev/loop0 ; swapon /dev/loop
/usr/portage
na 1GB oddilu a povazuju to za zbytecne moc velky oddil. Po pul roku pouzivani je obsazena zhruba 1/4.
# df -h /dev/sda6 Filesystem Size Used Avail Use% Mounted on /dev/sda6 1018M 206M 813M 21% /usr/portage # du -shc /usr/portage/ 171M /usr/portage/ 171M totalbtw filesystem je xfs vytvoreny prikazem
# mkfs.xfs -f -b size=512 -n size=8k /dev/sda6btw2
/usr/distifles
ma u mne zhruba 3GB.
eclean-dist -pdpro kontrolu, no a pokud souhlasíš s jejich vymazáním, tak
eclean-dist -dJe to fajn tool. Spuštím to obden a helemese...
# eclean-dist -pd * Building file list for distfiles cleaning... * Here are distfiles that would be deleted: [ 635.6 K ] 34705-KPersonalTrainer-1.11.tar.gz [ 1.4 M ] OpenSP-1.5.1.tar.gz [ 91.1 K ] SGMLSpm-1.03ii.tar.gz [ 594.3 K ] alsaplayer-0.99.76.tar.bz2 [ 149.5 K ] cs.xpi [ 264.6 K ] db.1.85.tar.gz [ 55.3 K ] docbk41.zip [ 271.1 K ] docbook-dsssl-1.79.tar.bz2 [ 122.1 K ] docbook-utils-0.6.14.tar.gz [ 5.2 M ] espgs-7.07.1-source.tar.bz2 [ 7.9 K ] faad2-patches-4.tar.bz2 [ 8.1 M ] firefox-1.5.tar.gz [ 13.4 K ] flex-2.5.4a-autoconf.patch.bz2 [ 372.1 K ] flex-2.5.4a.tar.gz [ 7.0 M ] gaim-2.0.0beta2.tar.bz2 [ 23.0 K ] genpatches-2.6.15-4.base.tar.bz2 [ 24.0 K ] genpatches-2.6.15-5.base.tar.bz2 [ 172.7 K ] genpatches-2.6.15-5.extras.tar.bz2 [ 78.4 K ] hashalot-0.3.tar.gz [ 106.1 K ] imake-1.0.1.tar.bz2 [ 1.3 M ] jasper-1.701.0.zip [ 396.2 K ] jbigkit-1.6.tar.gz [ 533.9 K ] kalbum-0.8.0.tar.bz2 [ 5.2 M ] kdemultimedia-3.5.1.tar.bz2 [ 706.1 K ] krename-3.0.9.tar.bz2 [ 844.2 K ] ksensors-0.7.3.tar.gz [ 291.6 K ] libmpcdec-1.2.tar.bz2 [ 698.2 K ] liboil-0.3.6.tar.gz [ 415.9 K ] libpcap-0.9.4.tar.gz [ 796.9 K ] lineak_defaultplugin-0.8.4.tar.gz [ 933.4 K ] lineakd-0.8.4.tar.gz [ 309.0 K ] ming-0.2a.tgz [ 1.4 M ] mjpegtools-1.8.0.tar.gz [ 1.2 M ] nas-1.7.src.tar.gz [ 227.8 K ] netpbm-10.30-manpages.tar.bz2 [ 2.3 M ] netpbm-10.31.tgz [ 1.3 M ] nspr-4.4.1.tar.gz [ 4.5 M ] nss-3.9.2.tar.gz [ 873.9 K ] openjade-1.3.2.tar.gz [ 48.1 K ] patch-2.6.15-ck3.bz2 [ 282.4 K ] patch-2.6.16-rc1-git4.bz2 [ 4.1 M ] patch-2.6.16-rc1.bz2 [ 48.8 K ] pax-utils-0.1.8.tar.bz2 [ 632.3 K ] pth-2.0.5.tar.gz [ 230.7 K ] startup-notification-0.8.tar.bz2 [ 434.7 K ] strace-4.5.14.tar.bz2 [ 992.6 K ] urt-3.1b.tar.Z [ 5.4 M ] vim-7.0_alpha20060123.tar.bz2 [ 54.5 K ] whois_4.7.8.tar.gz [ 257.6 K ] xorg-cf-files-1.0.1.tar.bz2 [ 4.9 K ] xosd-gentoo-m4-1.tar.bz2 [ 8.4 K ] xosd_2.2.14-1.diff.gz [ 408.5 K ] xosd_2.2.14.orig.tar.gz * Total space that would be freed in distfiles directory: 61.4 M
Mnoho miesta na pevnom disku zaberá partícia na swap.S tím nemohu souhlasit. Obvyklý swap zabírá méně (někdy výrazně méně) jak 0,5 % kapacity disku. Navíc se připravím o možnost suspend to disk, chci-li ho používat. Odkaz na šifrovaný loopback vrací HTTP 404. Já jsem si stejně ale oblíbil univerzálnější device mapper – dm-crypt. S LVM trochu souvisí i RAID, nebál bych se o něm slovem zmínit.
samostatný /boot oddíl mnoho nepomůže, aneb kde vezmu shell?v initrd ?
Navíc se připravím o možnost suspend to disk, chci-li ho používat.
Suspend2 už podporuje aj file writer, nie? ;)
CONFIG_SUSPEND2_FILEWRITER: This option enables support for storing an image in a simple file. This should be possible, but we're still testing it.
Myslím, že na záujem o osobitný článok o bezpečnosti a šifrovaných súborových systémoch sa ani pýtať nemusíš a rovno ho môžeš začať písať ;)
A trošku gramatiky... "Málo kedy" = "Málokedy", "partícií, ktoré sa pripoja" = "partícii, ktorá sa pripojí", "uložištia dát" = "diskového priestoru" (ešte sa pozriem do novších PSP, ale v '91 som nič ako {u|ú}loži{šte|sko} nevidel).
Mimochodom, slovenčina je krásna reč :) Prečo teda nepoužívať radšej slovenské slová? Partícia = oddiel, alokovať = prideliť... Viem, že šermovanie zvláštnymi slovami a modernými termínmi sa momentálne berie ako umenie a je to "in" - no všetko treba s mierou, aby to potom nevyznelo smiešne ;)
"Málo kedy" = "Málokedy"Opraveno.
"partícií, ktoré sa pripoja" = "partícii, ktorá sa pripojí"Určitě? Připadá mi, že jsi neporozuměl významu věty... "nachází se na jednom z oddílů, které se připojí", ne "nachází se na oddílu, který se připojí".
Určitě? Připadá mi, že jsi neporozuměl významu věty...Pravda, pravda... Nejako som tam vypadol z kontextu :)
Dále - swap do sparse souboru není možný, protože byste pak ztrácel čas alokacemi místa na disku.Za tohle muzu ja. Jedna z mych pripominek ke clanku byla: 'Ad vytvareni souboru pres `dd` - je mozne pouzit i volbu "-skip=cislo", ktera udela takzvany "sparse file", cili soubor, ktery ma sice treba 1GB, ale na disku zabira minimum mista, ktere se zaplnuje az postupne pri zapisu. Vyhoda je v tom, ze je vytvoreni rychlejsi, nevyhoda je to, ze by *mozna* mohlo dojit k jeho fragmentaci (nevim, VFS layer v kernelu mi nic nerika).'
Kromě toho swap do souboru bude mít vždy nějaký ten overhead. Místo na disku je navíc nesrovnatelně levnější, než RAM, takže opravdu raději obětuju 1-2GB na swap, než bych "šetřil" na nesprávném místě.No, na tohle uz se proflejmovalo hodne elektronu, ale co si myslis, ze udela "novy kancelarsky stroj" (tj. Pentium 4 na necelych 3GHz s 1GB pameti), pokud bude mit 2GB swapu a nekdo na nem pusti neco, co zacne alokovat jak blazen? Jak dlouho asi bude swapovat, nez se OOM killer dostane do hry? Vtip je v tom, ze kapacity pameti rostou mnohem rychleji nez rychlosti disku, a proto je historicke doporuceni "swap ma byt velky jako dvojnasobek pameti" IMHO nemistne.
Nevšiml jsem si, že bych tvrdil SWAP = 2xRAM, ale není to až tak od věci.Je/bylo to pomerne bezne a rozsirene pravidlo. IIRC, WinNT treba vytvari defaultne swap o velikosti 1.5*RAM.
V případě problému (něco začne extrémně alokovat) nepůjde mašina do kytek, ale jen se zpomalí. Stále se budete moct při dostatku trpělivosti přihlásit a neposlušnou aplikaci zastřelit (a kromě toho také identifikovat problém a příště mu předejít).Jo, "jenom" se zpomali. Schvalne si zkus pustit obycejny fork bomb (pripadne uprav tak, aby naforkoval jenom nejakych 50, 100 procesu, coz je nizsi, nez rozumny limit pro desktop) a at kazdy proces zacne pomalu alokovat pamet. Mezi procesy se bude prepinat, data se budou prelevat mezi RAM a swapem. Ja to zkousel :).
I pokud budete mít 2GB RAM, není 4GB swapu příliš mnoho.
Jiste, zalezi na konkretni aplikaci. Jenom chci zduraznit, ze "hodne swapu" zdaleka nemusi byt dobra vec, protoze problem, ktery by vyresil OOM killer (tedy s urcitou pravdepodobnosti, alespon pokud pouzivas nove jadro, ktere si proces na odstrel nevybira metodou stastnych deset) odlozis a na system se pres SSH v rozumne dobe (minuty, event. desitky minut) proste nedostanes.
Jednoduchy a hloupy priklad, ktery by se na dobre nakonfigurovanem systemu mel zastavit na maximalnim poctu bezicich procesu, lec stejne vzhledem ke spotrebe pameti dokaze systemu hodne zatopit. Neni problem napsat hezci vec, ktera udela omezene mnozstvi childu, naalokuje "relativne malo pameti" a bude s ni nahodne manipulovat.
#include <unistd.h> #include <stdlib.h> int main() { while(1) { malloc(1024); fork(); } return 0; }
Zkompilovat, pustit, zkusit SSH :).
Pokud znas nejake reseni, jak podobnym pruserum zabranit, rad se necham poucit.
ano, jeden z těch nesmyslů, kterými se krmí začátečníci ... poslední článek, který jsem na toto téma četl, říkal zhruba něco takového: "Odhadněte si, kolik paměti vám budou nanejvýše zabírat programy, které používáte, přičtěte rozumnou rezervu - asi čtvrtinu až třetinu z vašeho odhadu, odečtěte RAM a vyjde vám, kolik potřebujete swapu. Pokud swap vyjde více než dvakrát větší než RAM, měli byste zauvažovat o upgrade ..." - to mi přijde jako poněkud rozumnější, nežli axiom "swap musí být dvojnásobek RAM", ovšem vyžaduje to předchozí zkušenost s tím, kolik mi programy žerouNevšiml jsem si, že bych tvrdil SWAP = 2xRAM, ale není to až tak od věci.Je/bylo to pomerne bezne a rozsirene pravidlo.
I pokud budete mít 2GB RAM, není 4GB swapu příliš mnoho.Mam 1 GB RAM a vyuziti swapu se po celodenni praci pohybuje obvykle nekde kolem 116 kB, takze mi prijde, ze v mem pripade by i 1 MB swapovaciho oddilo byl mnoho, nebyt toho, ze pouzivam suspend to disc.
Předně - SWAP není zbytečnost. Až se vám něco nafoukne, budete rád, že vám OOM killer nesestřelí důležité démony (např SSHD).Mne se naopak libi myslenka toho, ze kdyz mi ve vyvijenem programu zacne dost hodne rychle pretekat pamet, tak mi ho OS okamzite usmrti, a ja muzu ihned pokracovat v praci. Naproti tomu se swapem to zacne intenzivne alokovat stranky ve swapovacim oddilu, pocitac znatelne zpomali, a kdyz nestihnu dostatecne rychle sestrelit vadny proces rucne, tak budiz Alt-SysRq-S Alt-SysRq-U Alt-SysRq-B jedinou mou zachranou, coz je ale dost velika ztrata casu, ktery bych mohl zajiste vyuzit k necemu uzitecnejsimu, nez cekanim na to, az pocitac zacne reagovat.
Málokedy sa však stáva, že operačný systém swap použije a v tomto prípade je to len vyhodený diskový priestor.1. Pokud máte > 512 MB RAM. Stále ještě je ale dost strojů, kde je méně. U mě to vypadá takto:
$ free -m total used free shared buffers cached Mem: 249 227 22 0 0 57 -/+ buffers/cache: 169 80 Swap: 1027 238 789(Gnome, gajim, xchat, bmp, epiphany, freemind, gnome-terminal) } 465 MB RAM obsazené programy. Kdybych pustil ještě OOo2, tak se hravě dostanu přes 512 MB. 2. I pokud máte více RAM, tak jádro odkládá nepoužívané programy z RAM do swapu a tak umožňuje větší cache. Řídí to hodnota v
/proc/sys/vm/swappiness
a např. Andrew Morton ji pro desktopy doporučuje dát na 100...
V Gentoo sa problémy s veľkými partíciami prejavujú hlavne na systéme Portage, ktorý je už aj tak veľmi pomalý.O překlopení portage do databáze se asi neuvažuje, že?
finn ~ # nice -n 19 emerge sync
...
real 40m35.197s
user 15m25.162s
sys 0m43.899s
qlop -s | tail
, qlop
je v balíku app-portage/portage-utils
), protože na tom jistě taky záleží, ale jak píšu, nechce se mi tomu věřit.
Tue Jan 24 17:40:30 2006 >>> rsync://64.127.121.98/gentoo-portage
Thu Jan 26 17:14:18 2006 >>> rsync://134.68.220.74/gentoo-portage
Sun Jan 29 19:24:42 2006 >>> rsync://38.99.64.200/gentoo-portage
Wed Feb 1 19:35:18 2006 >>> rsync://38.99.64.200/gentoo-portage
Mon Feb 6 20:36:07 2006 >>> rsync://140.211.166.165/gentoo-portage
portdbapi.auxdbmodule = portage_db_cdb.database eclass_cache.dbmodule = portage_db_cdb.databases výsledkem
emerge metadata 16,98s user 4,40s system 37% cpu 57,022 total
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.