GNU/Linux >> Belajar Linux >  >> Linux

Caching/memuat file di Linux ke dalam RAM

Solusi 1:

vmtouch sepertinya alat yang bagus untuk pekerjaan itu.

Sorotan:

  • tanya berapa banyak direktori yang di-cache
  • tanya berapa banyak file yang di-cache (juga halaman mana, representasi grafis)
  • memuat file ke dalam cache
  • hapus file dari cache
  • mengunci file dalam cache
  • jalankan sebagai daemon

manual vmtouch

EDIT: Penggunaan seperti yang ditanyakan dalam pertanyaan tercantum dalam contoh 5 di Beranda vmtouch

Example 5

Daemonise and lock all files in a directory into physical memory:

vmtouch -dl /var/www/htdocs/critical/

EDIT2: Seperti disebutkan dalam komentar, sekarang tersedia repositori git.

Solusi 2:

Ini juga dimungkinkan dengan menggunakan vmtouch Virtual Memory Toucher utilitas.

Alat ini memungkinkan Anda untuk mengontrol cache sistem file pada sistem Linux. Anda dapat memaksa atau mengunci file atau direktori tertentu di subsistem cache VM, atau menggunakannya untuk memeriksa bagian mana dari file/direktori yang terdapat di dalam VM.

How much of the /bin/ directory is currently in cache?

$ vmtouch /bin/
           Files: 92
     Directories: 1
  Resident Pages: 348/1307  1M/5M  26.6%
         Elapsed: 0.003426 seconds

Atau...

Let's bring the rest of big-dataset.txt into memory...

$ vmtouch -vt big-dataset.txt
big-dataset.txt
[OOo                                                 oOOOOOOO] 6887/42116
[OOOOOOOOo                                           oOOOOOOO] 10631/42116
[OOOOOOOOOOOOOOo                                     oOOOOOOO] 15351/42116
[OOOOOOOOOOOOOOOOOOOOOo                              oOOOOOOO] 19719/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOo                        oOOOOOOO] 24183/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo                  oOOOOOOO] 28615/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo              oOOOOOOO] 31415/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo      oOOOOOOO] 36775/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo  oOOOOOOO] 39431/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO] 42116/42116

           Files: 1
     Directories: 0
   Touched Pages: 42116 (164M)
         Elapsed: 12.107 seconds

Solusi 3:

Trik orang miskin untuk memasukkan sesuatu ke dalam cache sistem file adalah dengan hanya menyimpannya dan mengalihkannya ke /dev/null.

Solusi 4:

Linux akan menyimpan sebanyak mungkin disk IO di memori. Ini adalah statistik memori cache dan buffer. Ini mungkin akan bekerja lebih baik daripada Anda dalam menyimpan hal-hal yang benar.

Namun, jika Anda bersikeras menyimpan data Anda di memori, Anda dapat membuat ram drive menggunakan tmpfs atau ramfs. Perbedaannya adalah ramfs akan mengalokasikan semua memori yang Anda minta, sedangkan tmpfs hanya akan menggunakan memori yang digunakan perangkat blok Anda. Ingatan saya agak berkarat, tetapi Anda seharusnya dapat melakukan:

 # mount -t ramfs ram /mnt/ram 

atau

 # mount -t tmpfs tmp /mnt/tmp

dan kemudian salin data Anda ke direktori. Jelas, saat Anda mematikan mesin atau melepas partisi itu, data Anda akan hilang.

Solusi 5:

Setelah membaca ekstensif pada fitur swapping kernel dan caching halaman 2.6, saya menemukan 'fcoretools'. Yang terdiri dari dua alat;

  • fincore:Akan mengungkapkan berapa banyak halaman yang disimpan aplikasi di memori inti
  • fadvise:Memungkinkan Anda memanipulasi memori inti (cache halaman).

(Jika ada orang lain yang menganggap ini menarik, saya mempostingnya di sini)


Linux
  1. Penggunaan Memori Linux

  2. Cara Memeriksa Ukuran Ram di Baris Perintah Linux di Gb

  3. Memori tidak aktif Linux

  1. Cara Menulis File Log Di RAM Menggunakan Log2ram Di Linux

  2. Cara Menghapus Buffer Memori dan Cache di Linux

  3. Cara Menghapus Cache Memori di Linux

  1. Cara Memeriksa Ukuran Total RAM dan Penggunaan Memori di Linux

  2. Caching DNS di linux

  3. mencatat memori RAM tanda air tinggi dari proses Linux