คำถามติดแท็ก tmpfs

4
(อย่างไร) ฉันสามารถสร้าง tmpfs ในฐานะผู้ใช้ปกติ (ที่ไม่ใช่รูท) ได้อย่างไร
การแจกจ่ายเป็นเซิร์ฟเวอร์ Ubuntu ที่ใช้เคอร์เนล 2.6.35-30 ฉันต้องการไดเรกทอรีที่อยู่ในหน่วยความจำอย่างสมบูรณ์ เป็นไปได้หรือไม่หากไม่มีสิทธิ์รูท

2
ความแตกต่างระหว่าง / run และ / var / run
มีความแตกต่างระหว่าง/runไดเรกทอรีและvar/runไดเรกทอรีหรือไม่ ดูเหมือนว่าหลังเป็นลิงค์ไปยังอดีต หากเนื้อหานั้นเป็นหนึ่งเดียวกันสิ่งที่จำเป็นสำหรับสองไดเรกทอรีคืออะไร?

1
สิ่งที่กำหนดขนาดของ tmpfs? จะเกิดอะไรขึ้นเมื่อมันเต็ม
สิ่งที่กำหนดขนาดของtmpfs? (บนเครื่องของฉันมันอยู่ใน/dev/shm) ฉันสามารถดูรายการใน/etc/fstabแต่ไม่มีขนาดของสัญกรณ์ เมื่อตรวจสอบด้วยdf -hดูเหมือนว่าจะมีขนาดครึ่งหนึ่งของหน่วยความจำกายภาพที่ติดตั้งในระบบ นี่เป็นพฤติกรรมเริ่มต้นหรือไม่ นอกจากนี้จะเกิดอะไรขึ้นถ้ามันเต็ม มันขยายแบบไดนามิกบังคับให้โปรแกรมที่ทำงานอื่น ๆ เข้าสู่swap? ไม่tmpfsตัวเองเดินเข้ามาในswapพาร์ทิชัน? ในที่สุดความสำคัญในหน่วยความจำtmpfsหรือแอพพลิเคชั่นคืออะไร? เช่นถ้าฉันมีtmpfsเพียงพอ (เช่น 40% ของหน่วยความจำกายภาพ) และฉันมีโปรแกรมที่ต้องการ 70% ของหน่วยความจำกายภาพที่หนึ่งได้รับความสำคัญ
20 linux  swap  tmpfs 

1
ทำไม / dev เต็ม
/ dev .. เต็ม: SERVER:/dev # df -mP /dev Filesystem 1048576-blocks Used Available Capacity Mounted on udev 12042 12042 0 100% /dev ไม่มีไฟล์ที่กินพื้นที่! SERVER:/dev # find . -ls | sort -r | head -2 2790517 0 -rw-r--r-- 1 root root 0 Dec 16 10:04 ./devnull 1490005831 0 -rw------- 1 root …

3
ในหน่วยความจำระบบ…โดยเฉพาะความแตกต่างระหว่าง `tmpfs,` `shm, 'และ' hugepages ... '
ฉันเพิ่งสงสัยเกี่ยวกับระบบไฟล์ที่ใช้หน่วยความจำเคอร์เนลลินุกซ์ต่างๆ Note:เท่าที่ฉันกังวลคำถามด้านล่างควรพิจารณาตัวเลือกมากขึ้นหรือน้อยลงเมื่อเทียบกับความเข้าใจที่ดีขึ้นของการโพสต์ในชื่อเรื่อง ฉันถามพวกเขาด้านล่างเพราะฉันเชื่อว่าการตอบคำถามพวกเขาสามารถช่วยฉันให้เข้าใจความแตกต่างได้ดีขึ้น แต่เนื่องจากความเข้าใจของฉันมี จำกัด ดังนั้นจึงเป็นไปตามที่คนอื่นอาจรู้ดีกว่า ฉันพร้อมที่จะยอมรับคำตอบใด ๆ ที่เสริมสร้างความเข้าใจในความแตกต่างระหว่างระบบไฟล์ทั้งสามที่กล่าวถึงในชื่อเรื่อง ท้ายที่สุดฉันคิดว่าฉันต้องการติดตั้งระบบไฟล์ที่ใช้งานได้hugepages,แม้ว่างานวิจัยเบา ๆ (และยังคงมีการแก้ไขเล็กน้อย) ทำให้ฉันเชื่อว่า a rewritable hugepage mountไม่ใช่ตัวเลือก ฉันเข้าใจผิด กลไกอะไรที่เล่นที่นี่? ยังเกี่ยวกับ hugepages: uname -a 3.13.3-1-MANJARO \ #1 SMP PREEMPT \ x86_64 GNU/Linux tail -n8 /proc/meminfo HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 8223772 kB DirectMap2M: 16924672 …

3
ย้าย / tmp ไปที่ RAM
ฉันพยายามย้าย/tmpไปที่ RAM และเชื่อฟังแนวปฏิบัติที่ดี: /var/tmpไม่ควรอยู่ในtmpfsเพราะมันจะต้องอยู่รอดได้เรียบ ไม่เมานท์/tmpแบบสแตนด์อะโลนtmpfsแต่พึ่งพา/dev/shmหรือ/run/shm อย่างไรก็ตามสิ่งต่าง ๆ มีการเปลี่ยนแปลงระหว่าง 2.6 และ 3.2 เมล็ด: เปลี่ยนการกำหนดค่าและค่าเริ่มต้นของระบบไฟล์ tmpfs เมื่อวันที่ 3.2 เคอร์เนลใช้ในRAMTMP=yes/etc/default/tmpfs คำถามของฉันคือฉันจะบรรลุเป้าหมายนี้ด้วยเมล็ดที่มีอายุมากกว่าได้อย่างไร ตัวเลือกของฉันคือหรือจะแก้ไข / etc / fstab ไม่ได้: mkdir /dev/shm/tmp chmod 1777 /dev/shm/tmp mount --bind /dev/shm/tmp /tmp มีอะไรที่เหมือนกับRAMTMPเมล็ด 2.6 หรือไม่?
16 mount  ram  tmpfs 

2
ตัวเลือก fstab สามารถ uid และ gid เป็นชื่อกลุ่มผู้ใช้หรือต้องเป็นตัวเลข?
ฉันเรียนรู้วิธีตั้งค่า tmpfs ใน fstab สำหรับผู้ใช้ www-data ของฉันและฉันสงสัยว่าฉันสามารถใช้ชื่อผู้ใช้ / กลุ่มจริงแทนรหัสตัวเลข (การตั้งค่าส่วนตัว) หรือไม่ ฉันใช้ Debian ด้วย ext4 จัดรูปแบบด้วย "msdos" ระหว่างการติดตั้ง ดูเหมือนว่าจะใช้งานได้ แต่ฉันสงสัยว่านี่เป็นคุณสมบัติเฉพาะของเดเบียนหรือมันจะทำงานข้ามแพลตฟอร์ม (ฉันชอบพกพา) นี่คือสิ่งที่ฉันได้รับ: $ vim /etc/fstab # PHP temporary files. tmpfs /tmpfs/php-session tmpfs defaults,size=512M,mode=1700,uid=www-data,gid=www-data,noexec,nodev,nosuid 0 0 tmpfs /tmpfs/php-upload tmpfs defaults,size=256M,mode=1700,uid=www-data,gid=www-data,noexec,nodev,nosuid 0 0
14 mount  fstab  tmpfs 

1
สิ่งใดที่สามารถอธิบายการจัดการไฟล์ที่กระจัดกระจายของ / in tmpfs นี้ได้
ในext4พาร์ติชันระบบแฟ้มของฉันฉันสามารถเรียกใช้รหัสต่อไปนี้: fs="/mnt/ext4" #create sparse 100M file on ${fs} dd if=/dev/zero \ of=${fs}/sparse100M conv=sparse seek=$((100*2*1024-1)) count=1 2> /dev/null #show its actual used size before echo "Before:" ls ${fs}/sparse100M -s #setting the sparse file up as loopback and run md5sum on loopback losetup /dev/loop0 ${fs}/sparse100M md5sum /dev/loop0 #show its actual used size …

1
วิธีทำให้ tmpfs ใช้เฉพาะ RAM จริงไม่ใช่การแลกเปลี่ยน?
จะแน่ใจได้อย่างไรว่าtmpfsระบบไฟล์สามารถจัดการกับฟิสิคัลและไม่ได้ใช้ swap partition บนดิสก์ได้? เนื่องจากฉันมี HDD ที่ช้าและ RAM ที่เร็วฉันจึงต้องการให้ความสำคัญกับการใช้ RAM สำหรับswapและtmpfsหรือปิดการใช้งานดิสก์สำหรับtmpfsจุดเชื่อมต่อที่เกี่ยวข้อง
12 swap  ram  tmpfs 

1
วิธีเพิ่มขนาดโฟลเดอร์ / tmp ด้วยตนเอง
ฉันไม่มีพื้นที่ว่างเหลืออยู่ใน โฟลเดอร์/ tmpใน Fedora 26 ซึ่งทำให้เกิดปัญหาหลายอย่าง Folder / tmp ใช้ RAM ฟรีทั้งหมด: $ df -h /tmp Filesystem Size Used Avail Use% Mounted on tmpfs 3.9G 3.9G 12k 100% /tmp $ ดังนั้น ฉันจะเพิ่มขนาดของโฟลเดอร์นี้ด้วยตนเองอย่างไรเพื่อให้มีพื้นที่ว่างมากขึ้นโดยไม่ต้องเพิ่ม RAM หรือลบไฟล์จากมัน? คำถามของฉันคล้ายกับสิ่งนี้และสิ่งนี้แต่แตกต่างกัน: ในคำถามของฉันฉันต้องเพิ่มขนาดของโฟลเดอร์ในขณะที่ฉันถึงขนาดสูงสุด ขอบคุณล่วงหน้า.
12 systemd  disk  tmpfs 

1
มันปลอดภัยแค่ไหนที่จะเพิ่ม tmpfs ให้มากกว่าหน่วยความจำกายภาพ?
เซิร์ฟเวอร์ของฉันมี 2GB RAM และ 120GB SSD รวมทั้งอาร์เรย์ RAID บางส่วนสำหรับจัดเก็บข้อมูล ระบบปฏิบัติการคือ Debian 8 (Linux 3.16) ฉันมีแอพพลิเคชั่นที่ใช้ MySQL ที่มีtmpdir= /run/mysqldซึ่งtmpfsกำหนดค่าโดย Debian ผ่าน/etc/default/tmpfs: # Size limits. Please see tmpfs(5) for details on how to configure # tmpfs size limits. TMPFS_SIZE=40%VM สิ่งนี้เคย20%VMเป็นประมาณ 384M ฉันวิ่งแข่งหลายครั้งno space left on deviceดังนั้นฉันจึงเพิ่มมันเป็นถึง40%VMแม้จะมีขนาดประมาณ 763M ก็ยังเล็กเกินไป ตอนนี้ฉันตอนนี้ฉันควรเพิ่ม RAM เพิ่มเติม แต่จากความอยากรู้อยากเห็นฉันต้องการทราบขีด …
11 linux  swap  tmpfs 

4
โฟลเดอร์ชั่วคราวที่ทำลายโดยอัตโนมัติหลังจากกระบวนการออก
เราสามารถใช้โฟลเดอร์ชั่วคราวเช่นไฟล์ชั่วคราว TMP=$(mktemp ... ) exec 3<>$TMP rm $TMP cat <&3 ซึ่งจะถูกทำลายโดยอัตโนมัติหลังจากที่เปลือกนี้จบการทำงาน

1
ใช้ `/ run / shm` (ก่อนหน้านี้` / dev / shm`) เป็นไดเรกทอรีชั่วคราว
เป็นการดีที่จะสร้างไดเรกทอรีใน/run/shm(ก่อนหน้านี้/dev/shm) และใช้สิ่งนั้นเช่นไดเรกทอรีชั่วคราวสำหรับโปรแกรมหรือไม่? พื้นหลัง: ฉันกำลังเขียนการทดสอบกล่องดำสำหรับโปรแกรมที่ทำสิ่งต่าง ๆ มากมายด้วยไฟล์และไดเรกทอรี สำหรับการทดสอบทุกครั้งฉันสร้างไฟล์และไดเรกทอรีจำนวนมากจากนั้นเรียกใช้โปรแกรมแล้วสร้างชุดไฟล์และไดเรกทอรีที่คาดหวังจากนั้นเรียกใช้ diff เพื่อเปรียบเทียบ ตอนนี้ฉันมีการทดสอบประมาณ 40 ครั้งและพวกเขาใช้เวลาในการรัน 2 วินาที หวังว่าจะเร่งความเร็วฉันต้องการรันการทดสอบในไดเรกทอรีบน ramdisk บางประเภท การค้นคว้าเกี่ยวกับ ram disk ฉันสะดุดกับคำถามด้วยคำตอบที่ระบุว่าไม่เป็นไรในการสร้างไดเรกทอรี/dev/shmและใช้งานเช่นเดียวกับไดเรกทอรีชั่วคราว ค้นคว้าเพิ่มเติมอีกเล็กน้อยแต่ฉันเจอหน้า wikiจาก debian ที่ระบุว่าเป็นข้อผิดพลาดในการใช้/dev/shmโดยตรง ฉันควรใช้shm_*ฟังก์ชั่น น่าเสียดายที่shm_*ฟังก์ชั่นดูเหมือนจะไม่สามารถใช้งานได้ในเชลล์สคริปต์ ตอนนี้ฉันสับสน มันโอเคหรือไม่ที่จะใช้/run/shm(เดิม/dev/shm) เหมือนไดเรกทอรีชั่วคราวหรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.