ช่วงนี้วุ่นวายอยู่กับ Single Board Computer หรือ SBC มาพักใหญ่จนเอา Debian ไปยัดใส่ให้มันทำงานได้แล้ว SBC ที่ผมเอามาเล่นคือรุ่น TS-7200 ที่เคยเขียนถึง การใช้งาน debian บน SBC ที่มี ARM9 เป็น CPU ก็ถือว่าทำได้ดีในงานที่ต้องการขนาดระบบที่เล็ก แต่ผมดันลืมทำ swap ให้มันซะนี่
การทำ swap ส่วนใหญ่ผมจะเข้าใจว่าต้องทำโดยการแบ่งพาติชั่นเป็นหลัก และครั้งนี้ลืมไปเลยว่าต้องทำ swap ด้วย จนเอามาใช้งานก็ติดๆขัดๆเรื่องของ memory บ่อยอยู่เหมือนกัน ทีแรกว่าจะ fdisk ใหม่แต่ก็กลัวพลาด (เป็นบ่อย) เลยหาวีธีเซฟๆหน่อย
เลยได้เป็นการทำ swap file ไม่ต้องทำเป็น swap patition เริ่มการทำเลย
1. ก่อนอื่นต้องสร้าง block ขึ้นมาใน harddisk หรือ compact flash ขนาดก็ดูจาก memory หลักคูณด้วยสอง SBC ผมมีRAM ขนาด 32 MB ผมก็สร้าง swap file ขนาด 64 MB ด้วยคำสั่ง dd ดังนี้
# dd if=/dev/zero of=/swapfile bs=1024 count=64k
# mkswap /swap
Setting up swapspace version 1, size = 67104 kB
no label, UUID=7cde6930-7f70-44ac-8f96-d847f20a7b0b
2. เริ่มการใช้งาน swap file ที่สร้างขึ้น
# swapon /swap
Adding Swap: 65528k swap-space (priority -1)
3. ตรวจดูการใช้งานของ swap file ที่สร้างขึ้น
# cat /proc/swaps
Filename Type Size Used Priority
/swap file 65528 0 -1
หรือใช้คำสั่ง top
top - 22:27:45 up 1 day, 8:01, 3 users, load average: 0.00, 0.00, 0.15
Tasks: 24 total, 1 running, 22 sleeping, 1 stopped, 0 zombie
Cpu(s): 0.7% user, 1.0% system, 0.0% nice, 98.4% idle
Mem: 28572k total, 27632k used, 940k free, 348k buffers
Swap: 65528k total, 0k used, 65528k free, 19068k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
23959 root 17 0 1048 1048 844 R 1.6 3.7 0:00.24 top
1 root 8 0 144 144 92 S 0.0 0.5 0:01.40 init
2 root 9 0 0 0 0 S 0.0 0.0 0:00.08 keventd
3 root 19 19 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd_CPU0
4 root 9 0 0 0 0 S 0.0 0.0 1:15.98 kswapd
5 root 9 0 0 0 0 S 0.0 0.0 0:00.00 bdflush
6 root 9 0 0 0 0 S 0.0 0.0 0:00.23 kupdated
7 root 9 0 0 0 0 S 0.0 0.0 0:00.00 mtdblockd
122 root 9 0 0 0 0 S 0.0 0.0 0:00.00 khubd
254 daemon 9 0 124 124 48 S 0.0 0.4 0:00.02 portmap
338 root 9 0 112 112 52 S 0.0 0.4 0:00.05 inetd
346 root 8 0 324 320 204 S 0.0 1.1 0:00.06 sshd
359 root 9 0 140 140 52 S 0.0 0.5 0:00.05 rpc.statd
370 root 8 0 332 332 168 S 0.0 1.2 0:00.47 cron
426 root 9 0 300 300 52 S 0.0 1.0 0:00.11 login
427 root 9 0 868 868 584 S 0.0 3.0 0:00.15 bash
575 root 9 0 632 624 340 S 0.0 2.2 0:15.45 sshd
576 root 9 0 296 296 52 S 0.0 1.0 0:00.10 login
577 root 8 0 816 816 504 S 0.0 2.9 0:01.59 bash
903 root 9 0 628 620 340 S 0.0 2.2 0:01.40 sshd
925 root 9 0 296 296 52 S 0.0 1.0 0:00.09 login
926 root 9 0 1232 1232 672 S 0.0 4.3 0:00.27 bash
14986 root 9 0 1560 1560 52 T 0.0 5.5 0:01.70 zip
30177 root 9 0 260 260 184 S 0.0 0.9 0:00.22 syslogd
ถ้าได้อย่างนี้แล้วก็คือใช้งานได้แล้ว
4. สุดท้ายเอาไปเพิ่มไว้ไนไฟล์ fstab เพื่อให้ใช้งานได้เองหลังจากบูทเครื่องทุกครั้ง
proc /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/swap none swap sw 0 0
/dev/sdcard0/disc0/part3 / ext2 defaults,noatime,sync 1 1
คอมเม้นท์ล่าสุด