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)