Sitemap

หน่วยความจำสลับใน Linux คืออะไร?

หน่วยความจำ Swap เป็นหน่วยความจำประเภทพิเศษที่สามารถใช้เก็บข้อมูลชั่วคราวที่ระบบปฏิบัติการ Linux ไม่ได้ใช้งานอยู่ หน่วยความจำ Swap เรียกอีกอย่างว่าไฟล์ swap หรือดิสก์เสมือน ฉันจะใช้หน่วยความจำ swap ใน Linux ได้อย่างไรในการใช้หน่วยความจำสวอปใน Linux คุณต้องสร้างไฟล์สวอปก่อนในการดำเนินการนี้ คุณต้องเปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:sudo swapon /dev/sda1ซึ่งจะสร้างไฟล์ swap ชั่วคราวบนฮาร์ดไดรฟ์ของคุณชื่อ "swap1"ถัดไป คุณต้องบอกระบบปฏิบัติการ Linux ว่าต้องจัดสรรพื้นที่ให้กับไฟล์ swap มากเพียงใดในการดำเนินการนี้ คุณต้องเปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:sudo swapon -s 100% ซึ่งจะสำรองพื้นที่ว่างในฮาร์ดไดรฟ์ของคุณ 100 เปอร์เซ็นต์สำหรับไฟล์ swapสุดท้าย คุณสามารถใช้ Swap File Manager (รวมอยู่ใน Ubuntu เวอร์ชันส่วนใหญ่) เพื่อเข้าถึงและใช้ swapfile ใหม่ หากต้องการออกจาก Swap File Manager ให้กด CTRL+X ตามด้วย Y เพื่อเริ่มใช้ swapfile ที่สร้างขึ้นใหม่ ง่ายๆ รีบูตเครื่องคอมพิวเตอร์หรือรีสตาร์ทกระบวนการเริ่มต้นของการแจกจ่าย Linux ของคุณ (โดยปกติเสร็จสิ้นด้วย sudo service init restart) การสลับข้อมูลระหว่าง RAM และฮาร์ดไดรฟ์ทำงานอย่างไรใน Linuxเมื่อจำเป็นต้องจัดเก็บข้อมูลบนดิสก์แทนที่จะเป็น RAM ข้อมูลนั้นจะถูกเปลี่ยนจาก RAM ไปเป็นระบบไฟล์ tmpfs ที่อยู่บนฮาร์ดไดรฟ์ของคุณเมื่อไม่มีงานรอข้อมูลใน RAM อีกต่อไปแล้ว tmpfs จะเลิกเมาต์และลบไฟล์ใดๆ ที่วางไว้ในนามของแอปพลิเคชันที่ทำงานอยู่ เพื่อให้สามารถเรียกคืนหน่วยความจำกายภาพกลับจากเคอร์เนล OS Heapspace Allocation Table สามารถรันได้กี่กระบวนการในครั้งเดียวโดยไม่ทำให้เกิดปัญหา?

ไม่มีการจำกัดจำนวนกระบวนการที่สามารถรันได้ในคราวเดียวโดยไม่ทำให้เกิดปัญหา อย่างไรก็ตาม การรันโปรเซสมากเกินไปอาจทำให้ระบบไม่เสถียรหรือเกิดปัญหาได้การใช้หน่วยความจำ swap ใน Linux มีประโยชน์อย่างไร

ประโยชน์บางประการของการใช้หน่วยความจำสลับใน Linux ได้แก่ ประสิทธิภาพที่เพิ่มขึ้นเนื่องจากการพึ่งพา RAM ที่ลดลงและการสึกหรอของฮาร์ดแวร์ที่ลดลงเนื่องจากการสลับอุปกรณ์จัดเก็บข้อมูลออกไม่บ่อยนอกจากนี้ การใช้พาร์ติชันเฉพาะสำหรับการสลับช่วยให้มีความยืดหยุ่นมากขึ้นเมื่อจัดการทรัพยากรเนื่องจากการสลับสามารถเกิดขึ้นได้ในช่วงที่มีกิจกรรมต่ำมากกว่าในช่วงเวลาที่มีการใช้งานสูงสุด ข้อเสียของการใช้หน่วยความจำแบบสลับใน Linux คืออะไร

ข้อเสียบางประการของการใช้หน่วยความจำแบบสลับใน Linux รวมถึงปัญหาที่อาจเกิดขึ้นหากมีพื้นที่ว่างไม่เพียงพอในฮาร์ดไดรฟ์ของคุณ หรือหากคอมพิวเตอร์ของคุณประสบปัญหาไฟฟ้าดับ หรือการปิดระบบโดยไม่คาดคิดอื่นๆ ขณะสลับข้อมูล

หน่วยความจำ swap ใช้ใน Linux อย่างไร

หน่วยความจำ Swap เป็นกลไกที่ช่วยให้ Linux ใช้หน่วยความจำเสมือนได้หน่วยความจำเสมือนช่วยให้ระบบสามารถเรียกใช้หลายโปรแกรมพร้อมกัน โดยไม่ต้องจัดเก็บข้อมูลของแต่ละโปรแกรมไว้บนดิสก์ หน่วยความจำ Swap ทำงานโดยการสร้างไฟล์ชื่อ swapfile บนฮาร์ดไดรฟ์ของคุณเมื่อคุณเริ่มระบบคอมพิวเตอร์ Linux จะอ่านเนื้อหาของ swapfile และใช้เพื่อสร้างสำเนาชั่วคราวของ RAM ในคอมพิวเตอร์ของคุณเมื่อใดก็ตามที่คุณต้องการเรียกใช้โปรแกรมที่ต้องใช้ RAM มากกว่าจำนวนปกติของคอมพิวเตอร์ของคุณ Linux สามารถสลับเนื้อหาของ swapfile ของคุณเป็นข้อมูลของโปรแกรมได้ ซึ่งหมายความว่าหากคุณมี RAM 8GB Linux สามารถใช้ 4GB แทนได้ พื้นที่ว่างและยังคงสามารถเรียกใช้โปรแกรมทั้งหมดของคุณได้ ไฟล์ Swap จะถูกลบเมื่อไม่จำเป็นต้องใช้อีกต่อไป ดังนั้นคุณจึงไม่ต้องกังวลว่าไฟล์จะกินเนื้อที่บนฮาร์ดไดรฟ์ของคุณนอกจากนี้ การสลับใช้เวลาน้อยกว่าการใช้ RAM จริง ดังนั้นจึงสามารถใช้ได้เมื่อมี RAM จริงไม่เพียงพอ– ไฟล์ Swap จะถูกสร้างขึ้นเมื่อจำเป็นและจะถูกลบเมื่อไม่ต้องการ- การสลับใช้เวลาน้อยกว่าการใช้ RAM จริง – ไฟล์ Swap มีขนาดเล็กกว่าไฟล์ปกติ– คุณไม่ต้องกังวลว่าไฟล์ swap จะกินเนื้อที่บนฮาร์ดไดรฟ์ของคุณ– ไฟล์ Swap จะถูกลบเมื่อไม่ต้องการใช้อีกต่อไป ประโยชน์ของการใช้หน่วยความจำเสมือนใน Linux คืออะไร ?ประโยชน์บางประการของการใช้หน่วยความจำเสมือนใน Linux ได้แก่ 1) อนุญาตให้หลายโปรแกรมทำงานพร้อมกัน 2) ใช้งานได้มากกว่า RAM ปกติของคอมพิวเตอร์ 3) ลบข้อมูลที่สลับออกได้เมื่อ ไม่จำเป็นอีกต่อไป 4) สามารถใช้ swapfiles ได้แม้ว่าจะมี RAM จริงไม่เพียงพอ 5) สามารถย้ายโปรแกรมระหว่างส่วนต่าง ๆ ของฮาร์ดไดรฟ์ของคุณโดยไม่ต้องโอนย้ายอุปกรณ์จัดเก็บข้อมูลภายนอกแบบมอนอเช่น USBdrive หรือ SDcard"วิธีการสลับหน่วยความจำใน Linux" ให้ภาพรวมของการสลับหน่วยความจำในลินุกซ์และผลประโยชน์รวมถึงการใช้ RAM มากกว่าปกติ ข้อมูลนอกเมื่อไม่ทราบถึงการใช้งานอีกต่อไป "วิธีการสลับหน่วยความจำในลินุกซ์" ให้ภาพรวมของการสลับหน่วยความจำในลินุกซ์และประโยชน์ของมัน ซึ่งรวมถึงการใช้จำนวนมากกว่าปกติของ RAM และความสามารถในการลบข้อมูลที่ถูกสลับที่สับเปลี่ยนเมื่อไม่ทราบถึงการใช้งานอีกต่อไป"

จุดประสงค์เบื้องหลังการแลกเปลี่ยนข้อมูลจากพื้นที่หนึ่ง ("ชุดการทำงาน") ในพื้นที่อื่น ("ชุดที่สลับ") เป็นสองเท่า: ประการแรกเนื่องจากรหัสที่เข้าถึงบ่อยควรอยู่ใกล้ตำแหน่งที่ดำเนินการ (ซึ่งจะช่วยลดเวลาในการเข้าถึง) และ ประการที่สองเพราะจะทำให้ขยะที่สร้างขึ้นโดยการรันโค้ดในชุดการทำงาน (เนื่องจากขยะนี้จะอยู่ใกล้ที่เก็บข้อมูลถาวรแทนที่จะอยู่ชั่วคราวด้วยหน้ากระบวนการ) ซึ่งจะช่วยลดความจำเป็นในการทำความสะอาดในเวลาบูต/ปิดเครื่อง - aka pre- มัลติทาสกิ้งที่ว่างเปล่า!

เมื่อเราพูดว่า "ใกล้ที่จะถูกประหารชีวิต" เราหมายความว่าอย่างไร?เราหมายความว่าโค้ดที่เรียกใช้งานได้ควรอยู่ภายในหน้า ramdisk เมื่อใดก็ตามที่เป็นไปได้ ซึ่งสามารถแมปไปยังที่อยู่ใดก็ได้ภายในพื้นที่ที่อยู่ของผู้ใช้ ดังนั้นจึงเป็นการเพิ่มพื้นที่ให้สูงสุดสำหรับทั้งเหตุผลด้านประสิทธิภาพและการหลีกเลี่ยงตารางเพจที่ไม่จำเป็นซึ่งเกิดจากโค้ดปฏิบัติการที่กระจัดกระจายไปทั่วพื้นที่ที่อยู่ของผู้ใช้ !วิธีนี้ linux จะรู้ว่าทุกไบต์อยู่ที่ไหนระหว่างการดำเนินการ!หากไฟล์เรียกทำงานอยู่นอกฮีปที่ใดที่หนึ่ง อาจมี I/O แบบสุ่มเกิดขึ้นทั่วเคอร์เนลแลนด์ทุกครั้งที่มีการอ้างอิงชิ้นส่วนเหล่านั้น...ไม่เหมาะ!

ทุกวันนี้ โปรเซสเซอร์ x86 ส่วนใหญ่มาพร้อมกับการรองรับ Dynamic Memory Allocation โดยที่ส่วน (หน้า) ที่อยู่ในพื้นที่ของผู้ใช้สามารถถูกพิจารณาว่าเป็นพร้อมใช้งานสำหรับการดำเนินการเมื่อใดก็ตามที่ต้องการมากกว่านั้น

คุณจะสร้างไฟล์ swap ใน Linux ได้อย่างไร?

การสลับหน่วยความจำใน Linux เป็นกระบวนการสองขั้นตอนขั้นแรก คุณสร้างไฟล์สลับประการที่สอง คุณใช้คำสั่ง mkswap เพื่อเปิดใช้งานไฟล์สลับ

ในการสร้างไฟล์ swap ให้ใช้คำสั่ง swapon:

สวอปปอน

ที่ไหนเป็นอุปกรณ์สวอปที่คุณต้องการและคือขนาดของ swapfile ในหน่วยเมกะไบต์ (MB)

คุณเปิด / ปิดไฟล์ swap ใน Linux ได้อย่างไร?

คุณจะปรับขนาดไฟล์สลับ Linux ได้อย่างไรคุณจะสร้างไฟล์สลับ Linux ใหม่ได้อย่างไรประโยชน์ของการใช้ไฟล์สลับ Linux คืออะไร?จะตรวจสอบสถานะของไฟล์สลับ Linux ของคุณได้อย่างไร?

การสลับหน่วยความจำใน Linux เป็นงานที่สำคัญหากคุณต้องการปรับปรุงประสิทธิภาพของระบบคู่มือนี้จะแสดงวิธีเปิดใช้งานและปิดใช้งาน swapfile, ปรับขนาด, สร้างใหม่ และตรวจสอบสถานะ

ประโยชน์หลักของการใช้ลินุกซ์ swapfile คือสามารถช่วยเพิ่มพื้นที่ว่างในดิสก์บนคอมพิวเตอร์ของคุณเมื่อคอมพิวเตอร์ของคุณต้องการหน่วยความจำเพิ่ม ก็สามารถใช้ข้อมูลที่จัดเก็บไว้ใน swapfile แทนการโหลดข้อมูลจากฮาร์ดไดรฟ์

ในการเปิดหรือปิดใช้งาน swapfile บนคอมพิวเตอร์ของคุณ:

ในการปรับขนาดไฟล์ Linux Swap:

  1. เปิดหน้าต่างเทอร์มินัลโดยคลิกที่ปุ่ม "เริ่ม" แล้วพิมพ์ "เทอร์มินัล"
  2. พิมพ์ "swapoff" เพื่อปิดคุณสมบัติ Swap File บนคอมพิวเตอร์ของคุณ
  3. พิมพ์ "swapon" เพื่อเปิดคุณสมบัติ Swap File บนคอมพิวเตอร์ของคุณ
  4. หากต้องการดูข้อมูลเกี่ยวกับการกำหนดค่าไฟล์ Swap ปัจจุบันของคุณ ให้พิมพ์ "swapinfo"
  5. เปิดหน้าต่างเทอร์มินัลโดยคลิกที่ปุ่ม "เริ่ม" แล้วพิมพ์ "เทอร์มินัล"
  6. พิมพ์ "resize2fs /dev/sdaX" โดยที่ X เป็นตัวอักษรที่ไม่ได้ใช้ (เช่น สำหรับ /dev/sda5 ให้พิมพ์ resize2fs /dev/sda คำสั่งจะแจ้งให้คุณยืนยันก่อนดำเนินการต่อ หากทุกอย่างเป็นไปด้วยดี คุณจะเห็น ผลลัพธ์ดังนี้: สำเร็จ การปรับขนาดระบบไฟล์ด้วยขนาดบล็อก 1 MiB...เสร็จสิ้น ขนาดของแต่ละบล็อกถูกตั้งค่าเป็น 128 KiB ขนาดระบบไฟล์สูงสุดที่อนุญาตถูกตั้งค่าเป็น 2 TiB หลังจากปรับขนาด ระบบไฟล์ที่ต่อเชื่อมควรมีพื้นที่เพิ่มเติมประมาณ 5% เสร็จแล้ว! หากไม่โปรดรายงานปัญหา คำเตือน: การใช้ชื่ออุปกรณ์เก่าซ้ำอาจทำให้ข้อมูลสูญหายหรือเสียหายได้ ใช้ชื่ออุปกรณ์ที่สร้างขึ้นใหม่เสมอเมื่อสร้างหรือแก้ไขพาร์ติชัน หากต้องการเลิกทำการดำเนินการนี้ ให้พิมพ์ 'resize2fs -f' หมายเหตุ: หากคุณไม่ทำ' t ระบุไดเร็กทอรีเป้าหมาย (/usr/local/etc เป็นต้น) จากนั้นไฟล์ทั้งหมดที่อยู่ใน /usr/local จะถือว่าเป็นระบบไฟล์เป้าหมายที่ออฟเซ็ต 0 สงวนไว้สำหรับรูท ใช้ 'resize2fs -l' เพื่อแสดงรายการเป้าหมายที่คุณมีอยู่ ยังสามารถเปลี่ยนแปลงตัวเลือกการเมานท์ขณะติดตั้งระบบไฟล์ สำหรับข้อมูลเพิ่มเติม โปรดดูที่ หน้าคน 'resize2fs'ในกรณีส่วนใหญ่ ไม่จำเป็นต้องแก้ไขตารางพาร์ติชั่นด้วยตนเอง คุณอาจต้องอ่านคู่มืออีกครั้งหลังจากเปลี่ยนตัวเลือกการเมานท์บางตัว ในวันพุธที่ 6 ธันวาคม 10:27:11 CET 2012 mvallin เขียน:/dev/sda5 : ปรับขนาดจาก 9 GiB (9000000000 ไบต์) ใช้หลังจากปรับขนาดแล้ว 59% ด้วยคำสั่งเหล่านี้ เราได้เพิ่ม RAM ที่มีอยู่ของเราจาก 4 GiB (4096 MB) สูงสุด 8 GiB (8192 MB) เราสามารถลดการใช้ RAM ของเราได้อย่างง่ายดายด้วยการลดขนาดพาร์ติชั่นของเรา แต่เพิ่มพื้นที่เก็บข้อมูลที่ใช้งานได้ของเรา 59%ดังนั้น จำไว้ว่า เมื่อใดก็ตามที่เป็นไปได้ ให้พยายามเพิ่มแทนที่จะลดขนาดพาร์ติชั่น!หมายเหตุ: โดยทั่วไปไม่จำเป็นหรือแนะนำให้เพิ่มขนาดพาร์ติชั่นเกินกว่าที่จำเป็นสำหรับซอฟต์แวร์และข้อมูลที่ติดตั้งการทำเช่นนี้อาจส่งผลให้เกิดปัญหาที่คาดไม่ถึงตามมา!. เราได้รับพื้นที่ว่างเพิ่มขึ้นเท่าใด594 MiB หลังจากรันคำสั่งเหล่านี้ เรามี RAM ที่ใช้งานได้ 8192 MB ซึ่งมากกว่าเดิม 59%!. . หากทุกอย่างเป็นไปด้วยดี คุณควรมีพื้นที่ว่างเหลือเพียงพอบนฮาร์ดไดรฟ์ของคุณ (หรือภายในระบบไฟล์ใหม่ที่สร้างโดยคำสั่ง!)toinstallanotherapplicationortwo!.

คุณจัดรูปแบบเนื้อหาของ swapfile ใน Linux ได้อย่างไร?

ในการจัดรูปแบบเนื้อหาของ swapfile ใน Linux ให้ใช้คำสั่ง mkswapในการสร้างไฟล์ swap ใหม่ ให้ใช้คำสั่ง swaponหากต้องการดูสถานะของไฟล์ swap ให้ใช้คำสั่ง swapon -sหากต้องการลบไฟล์ swap ให้ใช้คำสั่ง swapon -D

ปัญหาที่อาจเกิดขึ้นกับการใช้ swapfile ใน Linux คืออะไร

การสลับหน่วยความจำใน Linux อาจเป็นวิธีที่มีประโยชน์ในการเพิ่มพื้นที่ว่างในดิสก์ แต่อาจมีปัญหาบางประการที่ควรพิจารณาขั้นแรก ตรวจสอบให้แน่ใจว่าขนาด swapfile มีขนาดใหญ่พอที่จะรองรับจำนวนหน่วยความจำที่คุณต้องการทำให้ว่างประการที่สอง โปรดทราบว่าการสลับอาจทำให้เกิดปัญหาด้านประสิทธิภาพหากคอมพิวเตอร์ของคุณมีทรัพยากรเหลือน้อยสุดท้าย อย่าลืมสำรองข้อมูลของคุณก่อนที่จะใช้ swapfile เผื่อในกรณีที่มีข้อผิดพลาดเกิดขึ้น

คุณจะกำหนดพื้นที่สว็อปที่จะจัดสรรใน Linux ได้อย่างไร?

การสลับหน่วยความจำใน Linux เป็นกระบวนการสองขั้นตอนขั้นแรก คุณต้องกำหนดจำนวนหน่วยความจำที่ระบบของคุณต้องการประการที่สอง คุณต้องจัดสรรพื้นที่สว็อปสำหรับหน่วยความจำส่วนเกิน

ในการพิจารณาว่าระบบของคุณต้องการหน่วยความจำเท่าใด ให้ใช้คำสั่ง freeตัวอย่างเช่น:

ฟรี -m

การดำเนินการนี้จะพิมพ์รายการหน่วยความจำกายภาพและหน่วยความจำเสมือนทั้งหมดที่มีอยู่ในเครื่องของคุณจำนวนหน่วยความจำกายภาพและหน่วยความจำเสมือนที่ว่างจะแสดงอยู่ติดกันหากต้องการดูว่าระบบปฏิบัติการและแอปพลิเคชันใช้ทั้งหมดเท่าใด ให้ใช้คำสั่งเปอร์เซ็นต์:

เปอร์เซ็นต์ฟรี

การดำเนินการนี้จะพิมพ์รายการเปอร์เซ็นต์สำหรับหน่วยความจำทั้งสองประเภท (ทางกายภาพและเสมือน) เปอร์เซ็นต์ที่แสดงในวงเล็บหลัง "ว่าง" แสดงว่าระบบปฏิบัติการหรือแอปพลิเคชันกำลังใช้หน่วยความจำประเภทนั้นอยู่เท่าใด

เมื่อคุณทราบแล้วว่าระบบของคุณมีหน่วยความจำจริงและหน่วยความจำเสมือนเท่าใด ก็ถึงเวลาจัดสรรพื้นที่สว็อปบางส่วนเมื่อต้องการทำสิ่งนี้ ให้ใช้คำสั่ง swapon:

ชื่อไฟล์ swapon อาร์กิวเมนต์ "ชื่อไฟล์" ระบุตำแหน่งที่จะจัดเก็บหน้าที่สลับออก (ในกรณีนี้ จะเป็น "สลับ") เมื่อคุณจัดสรรพื้นที่สว็อปเพียงพอโดยใช้ swapon คุณสามารถเริ่มสลับหน้าโดยใช้คำสั่ง mkswap:

mkswap ชื่อไฟล์อาร์กิวเมนต์ "ชื่อไฟล์" ระบุตำแหน่งที่จะจัดเก็บหน้าที่สลับออก (ในกรณีนี้ จะเป็น "สลับ") เมื่อคุณจัดสรรพื้นที่สว็อปเพียงพอโดยใช้ mkswap คุณสามารถเริ่มสลับหน้าโดยใช้คำสั่ง swapon อีกครั้ง:

swapon filename คุณพร้อมที่จะเริ่มสลับ outpages แล้ว!เพียงออกคำสั่งเหล่านี้โดยไม่มีข้อโต้แย้งใด ๆ และดูเมื่อจำนวนบล็อกสวอปสเปซเพิ่มขึ้นบนดิสก์ไดรฟ์ของคุณ:

cat /proc/sys/vm/max_map_count นี่จะแสดงจำนวนไฟล์ swap ที่ถูกสร้างขึ้นจนถึงตอนนี้:

cat /proc/sys/vm/total_memory นี่จะแสดงจำนวน RAM ทั้งหมดที่ติดตั้งบนเครื่องของคุณ