GNU/Linux >> Znalost Linux >  >> Linux

Přehled RAMFS a TMPFS na Linuxu

Toto je příspěvek hosta, který napsal SathiyaMoorthy.

Pomocí ramfs nebo tmpfs můžete alokovat část fyzické paměti, která bude použita jako oddíl. Tento oddíl můžete připojit a začít zapisovat a číst soubory jako oddíl pevného disku. Protože budete číst a zapisovat do paměti RAM, bude to rychlejší.

Když se důležitý proces drasticky zpomalí kvůli zápisu na disk, můžete si pro zápis souborů do paměti RAM vybrat buď souborový systém ramfs nebo tmpfs.


Připojení tmpfs i ramfs vám poskytne sílu rychlého čtení a zápisu souborů z a do primární paměti. Když to otestujete na malém souboru, možná neuvidíte velký rozdíl. Rozdíl si všimnete pouze tehdy, když zapisujete velké množství dat do souboru s jinou režií na zpracování, jako je síť.

1. Jak připojit Tmpfs

# mkdir -p /mnt/tmp

# mount -t tmpfs -o size=20m tmpfs /mnt/tmp

Poslední řádek v následujícím df -k ukazuje výše připojený souborový systém /mnt/tmp tmpfs.

# df -k
Filesystem      1K-blocks  Used     Available Use%  Mounted on
/dev/sda2       32705400   5002488  26041576  17%   /
/dev/sda1       194442     18567    165836    11%   /boot
tmpfs           517320     0        517320    0%    /dev/shm
tmpfs           20480      0        20480     0%    /mnt/tmp

2. Jak namontovat Ramfs

# mkdir -p /mnt/ram

# mount -t ramfs -o size=20m ramfs /mnt/ram

Poslední řádek v následujícím příkazu mount ukazuje výše připojený souborový systém /mnt/ram ramfs.

# mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
tmpfs on /mnt/tmp type tmpfs (rw,size=20m)
ramfs on /mnt/ram type ramfs (rw,size=20m)

Ramfs a tmpfs můžete připojit během bootování přidáním položky do /etc/fstab.

3. Ramfs vs Tmpfs

Primárně oba ramfs a tmpfs dělají totéž s několika malými rozdíly.

  • Ramfs poroste dynamicky . Takže musíte ovládat proces, který zapisuje data, abyste se ujistili, že ramfs nepřekročí dostupnou velikost RAM v systému. Řekněme, že máte ve svém systému 2 GB RAM a vytvořili jste 1 GB ramfs a připojili jste se jako /tmp/ram. Když celková velikost /tmp/ram překročí 1 GB, stále do něj můžete zapisovat data. Systém vám nezabrání v zápisu dat větších než 1 GB. Pokud však překročí celkovou velikost paměti RAM 2 GB, systém se může zablokovat, protože v paměti RAM není místo pro uložení dat.
  • Tmpfs nebudou dynamicky růst . Nedovolilo by vám to napsat více, než je velikost, kterou jste zadali při připojování tmpfs. Nemusíte si tedy dělat starosti s řízením procesu, který zapisuje data, abyste se ujistili, že tmpfs nepřekročí zadaný limit. Může způsobit chyby podobné jako „Na zařízení nezbývá místo“.
  • Tmpfs používá swap .
  • Ramfs nepoužívá swap.

4. Nevýhody Ramfs a Tmpfs

Vzhledem k tomu, že ramfs i tmpfs zapisuje do systémové RAM, dojde k jeho smazání, jakmile se systém restartuje nebo se zhroutí. Měli byste tedy napsat proces pro sběr dat z ramfs/tmpfs na disk v pravidelných intervalech. Můžete také napsat proces pro zapsání dat z ramfs/tmpfs na disk, zatímco se systém vypíná. To vám však nepomůže v době pádu systému.

Tabulka:Porovnání ramfs a tmpfs
Experimentace Tmpfs Ramfs
Vyplňte maximum místa a pokračujte v psaní Zobrazí chybu Bude pokračovat v psaní
Pevná velikost Ano Ne
Používá Swap Ano Ne
Nestálé úložiště Ano Ano


Pokud chcete, aby váš proces zapisoval rychleji, je lepší zvolit tmpfs s opatřeními proti pádu systému.

Tento článek napsal SathiyaMoorthy. Pracuje ve společnosti bksystems, zajímá se o psaní článků a ve volném čase přispívá k open source. The Geek Stuff uvítá vaše tipy a články pro hosty.


Linux
  1. Demystifikace jmenných prostorů a kontejnerů v Linuxu

  2. Linuxové příkazy – přehled a příklady

  3. Linuxové příkazy:jobs, bg a fg

  1. Linux – Sysfs a Devtmpfs?

  2. Přehled FTP a SFTP

  3. Linux Odstraňte soubory a adresáře

  1. Přehled procesu UNIX (uvnitř procesu Linux a typy procesů)

  2. linuxové použití zástupných znaků v cp a mv

  3. tmpfs použití a změna velikosti