/run/shm
(Daha önce /dev/shm
) içinde bir dizin oluşturmak ve bunu bir uygulama için geçici dizin gibi kullanmak iyi bir uygulama mudur?
Arka plan: Dosya ve dizinlerle çok şey yapan bir program için kara kutu testleri yazıyorum. Her test için çok fazla dosya ve dizin oluşturup programı çalıştırıyorum ve sonra beklenen dosya ve dizin kümesini oluşturuyorum ve sonra karşılaştırmak için diff çalıştırıyorum. Şu anda yaklaşık 40 testim var ve zaten 2 saniyeden fazla sürüyorlar. İşleri hızlandırmayı umuyorum Testleri bir çeşit ramdisk üzerinde çalıştırmak istiyorum.
RAM disk hakkında araştırma Ben bir dizin oluşturmak ve bir geçici dizin gibi kullanmak için uygun olduğunu belirten bir soru ile tökezledi /dev/shm
. Biraz daha araştırıyorum, ancak debian'dan doğrudan kullanmak için bir hata olduğunu belirten bir wiki sayfasına tökezledim /dev/shm
. shm_*
İşlevleri kullanmalıyım . Ne yazık ki, shm_*
işlevler bir kabuk betiğinde kullanılamıyor gibi görünüyor.
Şimdi kafam karıştı. Geçici dizin olarak /run/shm
(eskiden /dev/shm
) kullanmak iyi mi değil mi?
/tmp
daha semantik olduğunu düşünürdüm . Kullanıcılarınız /dev/shm
işleri hızlandırmak için geçici dosyalar kullanmak için yeterli ram'a sahipse, oraya yerleştirir. Ancak yeterli ramları yoksa ve buraya takılırsa, tüm işlemleri takas dosyaları kullanmaya zorlayarak bilgisayarlarını yavaşlatırsa, daha önemli şeyler için koçlarını kaydedecek ve /tmp
dosya sistemi için normal disk alanını kullanacaklardır . Başka bir deyişle, /tmp
daha ayarlanabilir.
/tmp
paylaşılan belleğe bağlanır .