Raspberry Pi มี RAM เพียง 256 MB ดังนั้นฉันต้องการใช้พื้นที่สว็อป (ทั้งในการ์ด SD หรือที่เก็บข้อมูล USB ที่ต่อพ่วง) ฉันจะตั้งค่าได้อย่างไร
Raspberry Pi มี RAM เพียง 256 MB ดังนั้นฉันต้องการใช้พื้นที่สว็อป (ทั้งในการ์ด SD หรือที่เก็บข้อมูล USB ที่ต่อพ่วง) ฉันจะตั้งค่าได้อย่างไร
คำตอบ:
Raspbian ใช้dphys-swapfileซึ่งเป็นโซลูชันแบบแลกเปลี่ยนไฟล์แทนที่จะเป็นโซลูชันพื้นฐานของ swap-partition แบบมาตรฐาน มันง่ายกว่ามากในการเปลี่ยนขนาดของการแลกเปลี่ยน
ไฟล์การกำหนดค่าคือ:
/etc/dphys-swapfile
เนื้อหานั้นง่ายมาก โดยค่าเริ่มต้น Raspbian ของฉันมีการแลกเปลี่ยน 100MB:
CONF_SWAPSIZE=100
หากคุณต้องการเปลี่ยนขนาดคุณจะต้องแก้ไขจำนวนและรีสตาร์ท dphys-swapfile:
/etc/init.d/dphys-swapfile restart
แก้ไข: บน Raspbian ตำแหน่งเริ่มต้นคือ / var / swap ซึ่ง (แน่นอน) อยู่ในการ์ด SD ฉันคิดว่ามันเป็นความคิดที่ไม่ดีดังนั้นฉันจึงอยากจะชี้ให้เห็นว่า / etc / dphys-swapfile สามารถมีตัวเลือกต่อไปนี้ได้เช่นกัน: CONF_SWAPFILE = / media / btsync / swapfile
ฉันมีปัญหากับมันเท่านั้นที่จัดเก็บข้อมูล usb นั้นเป็นแบบอัตโนมัติดังนั้นจึงมีการแข่งขันที่นี่ (automount vs. swapon)
/var/swap
จึงเป็นแนวคิดที่ไม่ดี
คุณสามารถตั้งค่าพื้นที่สว็อปได้ค่อนข้างง่าย ตัวอย่างเช่นหากไดรฟ์ USB ของคุณคือ/dev/sdx
คุณจะใช้ (คุณต้องเป็น root สำหรับสิ่งนี้):
$ mkswap /dev/sdx
$ swapon /dev/sdx
โปรดทราบว่านี่จะใช้อุปกรณ์ทั้งหมดและคุณอาจสูญเสียข้อมูลที่มีอยู่ทั้งหมดในนั้น
คุณสามารถสร้างไฟล์สลับ (โดยใช้loop
อุปกรณ์) เช่นนี้:
$ dd if=/dev/zero of=/path/to/swapfile bs=1M count=1024 # For 1GB swap file
$ mkswap /path/to/swapfile
$ swapon /path/to/swapfile
เมื่อคุณไม่จำเป็นต้องแลกเปลี่ยนไฟล์ (ถ้าคุณต้องการที่จะดึงไดรฟ์ USB ตัวอย่าง) swapoff <device>
คุณต้องใช้ การไม่ทำเช่นนั้นอาจส่งผลให้ระบบขัดข้อง
คุณควรจะระมัดระวังแม้ว่า การ์ด SD มีข้อ จำกัด ในการอ่าน / เขียนที่ จำกัด และจะทำให้อายุการใช้งานสั้นลง หากคุณใช้ฮาร์ดไดรฟ์ภายนอกคุณควรใช้ได้ แต่จะช้ามาก
mkswap
บนพาร์ทิชันรากของพวกเขาโดยไม่ตั้งใจ ฉันคิดว่าsdx
เป็นการประชุมที่ดี
อย่าทำเช่นนี้เลย
คุณไม่ควรเปิดใช้งานการสลับบน Raspberry Pi
แม้ว่าจะเป็นไปได้ แต่ก็ไม่มีประโยชน์ แม้แต่ในการ์ด SDHC ระดับ 10 มันช้าเกินไป นอกจากนี้คุณจะลดอายุการใช้งานของการ์ด SD
สำหรับอุปกรณ์เก็บข้อมูลแบบแฟลช (SD card, SDD, USB thumb drive) คุณมีแนวโน้มที่จะเห็นการหยุดชั่วคราวของระบบในขณะที่กลุ่มแฟลชบล็อกขนาดใหญ่จะถูกลบ
ข้อยกเว้นที่เป็นไปได้:
Raspbmc ใช้/etc/init/swap.conf
เพื่อกำหนดค่าการแลกเปลี่ยนผ่านไฟล์ / swap /home/pi/.enable_swap
มันตรวจสอบก่อนการปรากฏตัวของ
หากคุณลบ/home/pi/.enable_swap
ไฟล์ swap จะไม่ถูกสร้างขึ้นจากนั้นเพียงสร้างไฟล์ขึ้นมาใหม่touch /home/pi/.enable_swap
หากคุณต้องการ swap และเปิดเครื่องใหม่
เป็นเรื่องน่าเสียดายที่ Raspberry Pis ไม่มี GigaBit Ethernet แต่อย่างน้อยก็เป็นไปได้ในทางทฤษฎีที่จะมีพื้นที่สว็อปบนอุปกรณ์เครือข่าย - โครงการ Linux Terminal Server สามารถให้บริการได้จากเซิร์ฟเวอร์ไปยังลูกค้าตามรายการนี้ในวิกิของพวกเขา .
ฉันพบหัวข้อฟอรัมรากฐาน"เคล็ดลับ: สลับไปยัง nfs"ซึ่งแสดงว่าคนที่มี NFS เมานต์อยู่แล้วใช้ swapfile บนหนึ่งในนั้นและติดตั้งผ่านลูป - เมานต์ (อาจจำเป็นเนื่องจาก Linux ไม่อนุญาต NFS mount ที่จะใช้โดยตรง) ระบุว่าไฟล์ swap ระยะไกลจะเก็บข้อมูลที่ระบบปฏิบัติการต้องไม่สูญเสียฉันเพียงแค่พิจารณาเรื่องนี้สำหรับเครือข่ายอีเธอร์เน็ตแบบใช้สาย - ลิงค์ไร้สายจะเป็น IMHO ที่บอบบางเกินไป นอกจากนี้แน่นอนว่าคุณจะต้องไม่อนุญาตให้รีโมตเซิร์ฟเวอร์ปิดเครื่องโดยไม่ต้องปิดสวิตช์และปล่อยให้ว่างเปล่าก่อน!