Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Software
Změna odkládacího disku
13. února 2003, 00.00 | Tentokrát si řekneme, jakým způsobem se dá změnit místo, na kterém Mac OS X má odkládací soubory. Minule jsme se seznámili se základy mechanismu odkládání; víme také, že se o to stará tzv. dynamický pager — samostatný proces, spuštěný automaticky při startu systému.
Změna odkládacího diskuV posledním textu, který věnujeme virtuální paměti, si řekneme, jakým způsobem se dá změnit místo, na kterém Mac OS X má odkládací soubory. Minule jsme se seznámili se základy mechanismu odkládání; víme také, že se o to stará tzv. dynamický pager — samostatný proces, spuštěný automaticky při startu systému.
Nejprve si v krátkosti řekneme, proč bychom vůbec něco takového dělali: inu, kvůli efektivitě. Běží-li program, který intenzivně pracuje se soubory, a zároveň se — ať již kvůli němu, nebo kvůli jinému procesu — hodně swapuje (často se přenášejí stránky z disku a na disk), je zřejmé, že disk bude mít co dělat, a bude zdržovat. V systému HFS, který bohužel Mac OS X standardě využívá, může být také problém fragmentace disku (systém UFS byl navržen tak, aby fragmentace zůstávala minimální).
Někteří uživatelé proto přemísťují odkládací soubory na jiný oddíl (to omezí fragmentaci), nebo rovnou na jiný disk (to omezí fragmentaci i neustálé přestavování hlav disku). Podle mého osobního názoru se to nevyplatí (spíše, máme-li více disků, je vhodné např. na jiný disk přenést vývoj aplikací a podobné úlohy, jež průběžně vytvářejí a ruší spoustu souborů, a swapování nechat na startovacím disku). Každý ovšem má jiné požadavky a nároky; proto si řekneme, jak na to.
Nejjednodušší je najít si místo, odkud se dynamický pager spouští, a vhodným způsobem upravit jeho argumenty. Podrobný popis všeho, co se děje při startu Mac OS X, je ve standardní dokumentaci na disku (/Developer/Documentation/Essentials/SystemOverview/BootingLogin); většina základních systémových procesů se spouští prostřednictvím standardního skriptu /etc/rc. Skutečně v tomto skriptu je i spuštění dynamického pageru:
99 /etc> <rc
#!/bin/sh
##
# Multi-user startup script.
#
# Copyright 1997-2002 Apple Computer, Inc.
#
# Customize system startup by adding scripts to the startup
# directory, rather than editing this file.
##
...
##
# Start the virtual memory system.
##
ConsoleMessage "Starting virtual memory"
swapdir=/private/var/vm
if [ "${netboot}" = "1" ]; then
sh /etc/rc.netboot setup_vm ${swapdir}
fi
# Make sure the swapfile exists
if [ ! -d ${swapdir} ]; then
ConsoleMessage "Creating default swap directory"
mount -uw /
mkdir -p -m 755 ${swapdir}
chown root:wheel ${swapdir}
else
rm -rf ${swapdir}/swap*
fi
dynamic_pager -H 40000000 -L 160000000 -S 80000000 -F ${swapdir}/swapfile
...
Tento skript můžeme podle potřeby upravit (ovšem, musíme na to mít práva supervisora, a v každém případě si uchováme zálohu jeho původní podoby!).
Stačí upravit nastavení proměnné swapdir: namísto původního řádku
swapdir=/private/var/vm
vložíme do skriptu něco jako
swpadir=/Volumes/MujDiskProVirtualniPamet
a je to — po restartu bude Mac OS X odkládat soubory virtuální paměti na disk MujDiskProVirtualniPamet. Stejně dobře bychom zde mohli změnit značky (watermarks), ale to v žádném případě nedoporučuji.
Mimochodem, obecně platí pravidlo, že úpravy skriptu /etc/rc by měly být až to poslední, jen pro případy, kdy žádné jiné, slušnější řešení neexistuje. Jedním z důvodů jsou upgrady: není zcela nepravděpodobné, že součástí nové verse Mac OS X bude i nový soubor /etc/rc — a ten v takovém případě samozřejmě přepíše naše změny, a budeme je muset udělat znovu.
V unixu se standardně pro změnu disků používá soubor /etc/fstab; v Mac OS X jsou však s jeho využitím spojeny určité potenciální problémy, a proto jsme si nejprve popsali sice trochu "neslušný", ale bezproblémově funkční postup s úpravou /etc/rc. Na /etc/fstab, jeho výhody i jeho nevýhody se podíváme příště.
Obsah seriálu (více o seriálu):
- Obcování s ďáblem
- Obcování s ďáblem 2 - základy
- Obcování s ďáblem 3 - Práce se soubory
- Obcování s ďáblem 4 - Další práce se soubory
- Obcování s ďáblem 5 - Stále soubory, hlavně linky
- Obcování s ďáblem 6: Pár zbývajících drobností
- Obcování s ďáblem 7: Samá voda, přihořívá, hoří!
- Obcování s ďáblem 8: Jak se do shellu volá, tak se program ozývá
- Obcování s ďáblem 9: Nové finty na programy
- Obcování s ďáblem 10: Do fronty, pánové, do fronty!
- Obcování s ďáblem 11: Standardní vstup a výstup
- Obcování s ďáblem 13: Další triky
- Obcování s ďáblem 14: Vyšší škola hledání souborů
- Obcování s ďáblem 15: Příkaz find stokrát jinak
- Obcování s ďáblem 16: Co se ještě dá uvařit z příkazu find
- Obcování s ďáblem 17: Regulární výrazy
- Obcování s ďáblem 18: Speciální regulární výrazy
- Obcování s ďáblem 19: Skládání regulárních výrazů
- Obcování s ďáblem 20: Regulární výrazy se zpětnými odkazy
- Obcování s ďáblem 21:K čemu je dobrý grep...
- Zázraky ihned, nemožné na počkání: sed
- Obcování s ďáblem - další finty s příkazem sed
- Rozsáhlejší příklad se sedem
- Obcování s ďáblem: Další kouzla, aneb awk
- Awk a proměnné
- Obcování s ďáblem 27: Awk a výrazy
- Obcování s ďáblem: Awk a funkce
- Awk a příkazy
- Co je to vlastně "uživatel"?
- Vlastnictví objektů
- Přístupová práva
- Vlastník, skupina, ostatní...
- Jak je to se skupinami?
- Skupiny a uživatelé
- Scripty
- Komentáře, a volba shellu
- Pro skript může být shell cokoli!
- Shellové skripty a argumenty
- Skripty a proměnné: aritmetika
- Proměnné shellu, "dědění" hodnot
- Práce s proměnnými
- Práce se jmény souborů
- Pole hodnot
- Další triky kolem polí...
- Standardní proměnné shellu
- Základní příkazy pro skripty
- Příkaz if
- Speciální podmínkové příkazy
- Podmínky pro práci se soubory
- Jednoduchý cyklus
- Příkaz for a pomocné příkazy break a continue
- Příkaz case
- Příkazy exit a select
- Rejstřík a přehled
- Procesy
- Informace o procesech
- Další klíčová slova pro příkaz ps
- Příkaz ps: několik praktických přepínačů
- A k čemu že je "ps" dobré?
- Copak procesor, s pamětí je to horší
- Virtuální paměť
- A ještě jednou virtuální paměť
- Zpět k příkazu ps
- Skutečný žrout paměti
- Ještě jednou top
- Doplněk k topu: vm_stat
- Co to tedy všechno znamená?
- Nevychází nám dal a má dáti?
- Kam se stránky ukládají?
- Změna odkládacího disku
- Změna odkládacího disku / fstab
- Poslední poznámka k fstab
- A jak to je se soubory?
- Co vlastně příkaz lsof vypisuje?
- Příkaz lsof a obsah sloupce NAME
- SIPS - Terminál není jen pro nadšence UNIXu
- Tak nám zabili NetInfo, paní Müllerová