เป็นการดีที่จะสร้างไดเรกทอรีใน/run/shm(ก่อนหน้านี้/dev/shm) และใช้สิ่งนั้นเช่นไดเรกทอรีชั่วคราวสำหรับโปรแกรมหรือไม่?
พื้นหลัง: ฉันกำลังเขียนการทดสอบกล่องดำสำหรับโปรแกรมที่ทำสิ่งต่าง ๆ มากมายด้วยไฟล์และไดเรกทอรี สำหรับการทดสอบทุกครั้งฉันสร้างไฟล์และไดเรกทอรีจำนวนมากจากนั้นเรียกใช้โปรแกรมแล้วสร้างชุดไฟล์และไดเรกทอรีที่คาดหวังจากนั้นเรียกใช้ diff เพื่อเปรียบเทียบ ตอนนี้ฉันมีการทดสอบประมาณ 40 ครั้งและพวกเขาใช้เวลาในการรัน 2 วินาที หวังว่าจะเร่งความเร็วฉันต้องการรันการทดสอบในไดเรกทอรีบน ramdisk บางประเภท
การค้นคว้าเกี่ยวกับ ram disk ฉันสะดุดกับคำถามด้วยคำตอบที่ระบุว่าไม่เป็นไรในการสร้างไดเรกทอรี/dev/shmและใช้งานเช่นเดียวกับไดเรกทอรีชั่วคราว ค้นคว้าเพิ่มเติมอีกเล็กน้อยแต่ฉันเจอหน้า wikiจาก debian ที่ระบุว่าเป็นข้อผิดพลาดในการใช้/dev/shmโดยตรง ฉันควรใช้shm_*ฟังก์ชั่น น่าเสียดายที่shm_*ฟังก์ชั่นดูเหมือนจะไม่สามารถใช้งานได้ในเชลล์สคริปต์
ตอนนี้ฉันสับสน มันโอเคหรือไม่ที่จะใช้/run/shm(เดิม/dev/shm) เหมือนไดเรกทอรีชั่วคราวหรือไม่?
/tmpมันมีความหมายมากกว่า หากผู้ใช้ของคุณมี RAM เพียงพอสำหรับการใช้/dev/shmงานไฟล์ชั่วคราวเพื่อเร่งความเร็วพวกเขาจะติดที่นั่น แต่ถ้าพวกเขามี RAM ไม่เพียงพอและติดตั้งมันจะทำให้คอมพิวเตอร์ช้าลงโดยบังคับให้กระบวนการทั้งหมดใช้ไฟล์ swap จากนั้นพวกเขาก็จะบันทึก ram ของพวกเขาสำหรับสิ่งที่สำคัญกว่านั้นและใช้พื้นที่ดิสก์ธรรมดาสำหรับ/tmpระบบไฟล์ กล่าวอีกนัยหนึ่ง/tmpคือปรับได้มากขึ้น
/tmpในหน่วยความจำที่แชร์