จัดสรร swap หลังการติดตั้ง Ubuntu 14.04 LTS


25

ฉันได้ติดตั้ง Ubuntu 14.04 LTS ประมาณหนึ่งเดือนที่ผ่านมาฉันกำลังบูตคู่ Ubuntu 14.04 LTS และ Windows 8.1

ฉันไม่ได้สร้างพื้นที่สว็อปใด ๆ ระหว่างการติดตั้ง แต่ตอนนี้ฉันต้องเพิ่มสิ่งนี้สำหรับ Ubunutu ฉันลองตรวจสอบพื้นที่สว็อปใด ๆ ที่กำหนดโดยใช้sudo swapon -sและฉันได้ส่วนหัวที่ว่างเปล่าดังแสดงด้านล่าง:

ahsan@ahsan-Inspiron-N5110:~$ sudo swapon -s
Filename                Type        Size    Used    Priority

จากนั้นฉันพยายามจัดสรรพื้นที่สว็อปโดยใช้dd of=output.dat bs=1 seek=390143672 count=0และผลลัพธ์คือ:

0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000170607 s, 0.0 kB/s

ฉันยังลองคำสั่งsudo dd if=/dev/zero of=/swapfile bs=1G count=4และผลลัพธ์คือ:

dd: memory exhausted by input buffer of size 1073741824 bytes (1.0 GiB)

จากนั้นฉันก็ลองsudo fallocate -l 4G /swapfileแต่ผลลัพธ์คือ:

fallocate: /swapfile: fallocate failed: Operation not supported

ฉันตรวจสอบฮาร์ดไดรฟ์ของฉันต่อไปนี้เป็นโครงสร้างฮาร์ดไดรฟ์

ahsan@ahsan-Inspiron-N5110:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        99G   18G   77G  19% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.4G  4.0K  1.4G   1% /dev
tmpfs           286M  1.2M  284M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.4G   24M  1.4G   2% /run/shm
none            100M   56K  100M   1% /run/user

และผลลัพธ์ของfree -mคือ:

ahsan@ahsan-Inspiron-N5110:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2850       2665        184        421         25        846
-/+ buffers/cache:       1794       1055
Swap:            0          0          0

โปรดแสดงวิธีที่ฉันสามารถเพิ่มการแลกเปลี่ยนโดยไม่ส่งผลกระทบต่อข้อมูลใด ๆ ของฉัน ฉันได้ติดตั้ง Ubuntu LTS 64 บิตและมี RAM 3GB และฮาร์ดไดรฟ์ 500GB

ฉันได้เคยถามคำถาม Ubuntu นี้และฉันพยายามคำสั่งและผลลัพธ์คือ:

ahsan@ahsan-Inspiron-N5110:~$ sudo dd if=/dev/zero of=/swapspace bs=1G count=4
4+0 records in
4+0 records out
4294967296 bytes (4.3 GB) copied, 47.1951 s, 91.0 MB/s
ahsan@ahsan-Inspiron-N5110:~$ sudo dd if=/dev/zero of=/swapspace bs=1G count=4sudo mkswap /swapspace
dd: invalid number ‘4sudo’
ahsan@ahsan-Inspiron-N5110:~$ 

สิ่งที่คุณต้องการแก้ไขแน่นอน "หน่วยความจำหมดโดยใส่บัฟเฟอร์", fallocate
Braiam

1
เบาะแสอยู่ในข้อความแสดงข้อผิดพลาดdd: invalid number '4sudo'ใช่มั้ย ฉันเดาว่าคุณมีปัญหาการคัดลอก / วาง ดีใจที่คุณได้รับการแก้ไขปัญหาของคุณ! ในอนาคตอ่านข้อความแสดงข้อผิดพลาดเหล่านั้นอย่างระมัดระวังและพยายามหาสาเหตุที่ทำให้คุณได้รับข้อความนั้น! ;-) ขอให้โชคดี
หอย

คำตอบ:


49

ขั้นแรกเพื่อสร้างพื้นที่สว็อป 4,000 MB:

$ sudo dd if=/dev/zero of=/swapspace bs=1M count=4000
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB) copied, 5.92647 s, 708 MB/s

หรือ

$ sudo fallocate -l 4000M /swapspace 

ถัดไปเปลี่ยนเป็นไฟล์สลับที่ใช้งานได้:

$ sudo mkswap /swapspace
Setting up swapspace version 1, size = 4095996 KiB
no label, UUID=7d1895e4-7ccf-42c6-979a-51ebddb49e91

เปิดใช้งาน:

$ sudo swapon /swapspace 

ยืนยันพื้นที่สว็อปที่เปิดใช้งาน:

$ cat /proc/swaps
Filename                Type        Size    Used    Priority
/swapspace              file        4095996 0       -1

ถัดไปเพิ่มบรรทัดต่อไปนี้ลงใน / etc / fstab เพื่อเปิดใช้งานการสลับใหม่ตอนบูต

/swapspace none swap defaults 0 0

ดูเพิ่มเติมที่หน้าวิกินี้: https://help.ubuntu.com/community/SwapFaq


แก้ไขคำถามที่คุณโปรดดูได้
Ahsan Hussain

ขอโทษฉันพยายามเรียกใช้คำสั่งสองครั้งโดยไม่ตั้งใจฉันคิดว่ามันใช้งานได้สำหรับฉัน :) ตอนนี้ยังแสดงการสลับในการตรวจสอบระบบ .. ขอบคุณมาก
Ahsan Hussain

ฉันรีสตาร์ทเครื่องและการแลกเปลี่ยนหายไปมันไม่สามารถใช้งานได้อีกแล้ว
Ahsan Hussain

1
ควรเพิ่มส่วน "หน่วยความจำไม่เพียงพอ" ในคำตอบ ความคิดเห็นมีความหมายว่าเป็นชั่วคราวพวกเขาอาจถูกลบ
nyuszika7h

1
sudo apt-get install swapspace เป็นตัวเลือกที่ดีที่สุดเมื่อเทียบกับการจัดสรรแบบนี้
LOG_TAG

6

เพื่อตอบคำถามของคุณทางอ้อมคุณไม่จำเป็นต้องจัดการ swapfiles ด้วยตัวเอง มีแพ็คเกจชื่อ swapspace ซึ่งจะเพิ่มไฟล์ swap ตามความต้องการ

  1. sudo apt-get installspacespace

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


5

ทำตามขั้นตอนเหล่านี้:

  1. sudo dd if=/dev/zero of=/mnt/{filename}.swap bs=1M count={swap_size}
  2. sudo mkswap /mnt/{filename}.swap
  3. sudo swapon /mnt/{filename}.swap
  4. sudo gedit /etc/fstab
  5. เพิ่มข้อความต่อไปนี้ที่ท้ายไฟล์ /mnt/{filename}.swap none swap sw 0 0

หมายเหตุ: แทนที่ {filename} ด้วยชื่อที่คุณต้องการกำหนดให้เป็นไฟล์และแทนที่ {swap_size} ด้วยขนาดที่คุณต้องการกำหนดให้กับไฟล์ swap ตรวจสอบให้แน่ใจว่าขนาดของไฟล์ต้องใหญ่กว่าขนาดหน่วยความจำสองเท่า


2
"ให้แน่ใจว่าขนาดของไฟล์ต้องใหญ่กว่าขนาดหน่วยความจำสองเท่า" คำแนะนำนั้นไม่มีอีกต่อไปในปัจจุบันเว้นแต่คุณจะมีหน่วยความจำเหลือน้อยจริงๆ (เช่น 1 GB หรือน้อยกว่า) หากคุณต้องการใช้การไฮเบอร์เนตคุณต้องมีหน่วยความจำฟิสิคัลอย่างน้อยเป็น swap แต่ไม่มีเหตุผลที่จะต้องมีการสลับ 8 GB หากคุณมี RAM 4 GB
nyuszika7h

ข้อเสนอแนะของคุณจะได้รับการพิจารณา
Wolverine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.