Linux มาพร้อมกับเครื่องมือในตัวมากมายสำหรับการบริหารและเพิ่มประสิทธิภาพระบบ หากคุณเพิ่งเริ่มใช้ Linux หรือเพิ่งเปลี่ยนจาก Windows คุณต้องเรียนรู้คำสั่งจำนวนหนึ่งเพื่อใช้ประโยชน์สูงสุดจากมัน Linux มีชื่อเสียงมากในฐานะระบบปฏิบัติการที่ผู้ใช้หรือผู้ดูแลระบบมีการควบคุมเต็มที่ ไม่ว่าคุณจะใช้ Ubuntu, Mint, Debian หรือการกระจาย Linux ใดๆ คุณสามารถทำอะไรก็ได้ด้วยคำสั่งและเครื่องมือที่เหมาะสม
ในบทความนี้ เราจะเน้นที่วิธีตรวจสอบการใช้หน่วยความจำบน Linux เนื่องจากนี่เป็นทักษะสำคัญที่ควรมี บางครั้งแอปจะเริ่มกินหน่วยความจำระบบหมด และคุณจะต้องรู้ขั้นตอนการแก้ปัญหาเพื่อหาสาเหตุ นี่คือเครื่องมือบรรทัดคำสั่งที่ดีที่สุดสำหรับตรวจสอบการใช้หน่วยความจำบนระบบ Linux ของคุณ
1. คำสั่ง "top"
เครื่องมือบรรทัดคำสั่ง top จะให้คุณสรุปของกระบวนการที่กำลังทำงานทั้งหมด สรุปนี้รวมข้อมูลการใช้หน่วยความจำแบบ real-time ดังนั้นคุณสามารถใช้มันเป็นแอปการตรวจสอบได้เช่นกัน คุณสามารถดูได้ว่าหน่วยความจำระบบของคุณถูกใช้ไปทั้งหมดเท่าไหร่ และจากนั้นตรวจสอบรายการกระบวนการเพื่อดูว่าแต่ละกระบวนการใช้หน่วยความจำเท่าไหร่
เพื่อรันเครื่องมือนี้ ให้พิมพ์คำสั่ง top เพียงอย่างเดียว:
$ top
คำสั่ง top แสดงหน่วยความจำรวมและว่างของระบบ Linux ของคุณ รวมถึง physical และ swap memory ที่ใช้ คอลัมน์ที่สำคัญที่สุดในกรณีนี้คือ %MEM เพราะมันบอกว่ากระบวนการแต่ละตัวใช้ physical memory เท่าไหร่ จากนั้นคุณสามารถระบุแอปที่กินหน่วยความจำมากเกินไปและ kill มันได้
นอกจากนี้ คุณยังสามารถใช้เครื่องมือบรรทัดคำสั่ง top เพื่อตรวจสอบการใช้ CPU ได้ เพียงดูคอลัมน์ %CPU เพื่อดูว่าแต่ละแอปใช้กำลังประมวลผลเท่าไหร่
2. คำสั่ง "free"
หากสิ่งที่คุณต้องการรู้เกี่ยวกับการใช้หน่วยความจำของระบบคือแค่จำนวนหน่วยความจำว่างและที่ใช้ คุณไม่จำเป็นต้องใช้คำสั่ง top คำสั่ง free จะเพียงพอแล้ว พิมพ์ free ในเทอร์มินัลและทราบทันทีว่ามี physical และ swap memory ว่างหรือใช้เท่าไหร่ พร้อมทั้งได้ข้อมูลเกี่ยวกับ buffers ที่ kernel ใช้
โปรดทราบว่าข้อมูลการใช้หน่วยความจำไม่ได้ปรากฏแบบ real-time คุณสามารถใช้คำสั่ง free command line เพื่อติดตามการใช้หน่วยความจำ โดยปกติแล้ว นี่คือภาพถ่าย (screenshot) ที่บอกว่ามีหน่วยความจำว่างหรือใช้เท่าไหร่เมื่อคุณพิมพ์คำสั่ง ใช้คำสั่ง top หากคุณต้องการติดตามการใช้หน่วยความจำ หรือต้องการรู้ว่าแต่ละกระบวนการใช้หน่วยความจำเท่าไหร่
3. คำสั่ง "htop"
คำสั่ง htop คือคำสั่ง top tool แต่มีสภาพแวดล้อมที่อ่านง่ายกว่าและควบคุมได้ง่ายขึ้น (user-friendly controls) มันแสดงการใช้ RAM แบบ real-time ให้รายการกระบวนการที่ทำงานทั้งหมด และให้ shortcuts ไปยังคำสั่งที่ควบคุมกระบวนการ เมื่อคุณเห็นกระบวนการที่กิน RAM มากเกินไป คุณสามารถกดปุ่มลัดเพื่อ kill มันได้ทันที แทนที่จะใช้คำสั่ง Bash
เพื่อใช้คำสั่ง htop ให้พิมพ์ htop ในเทอร์มินัล อย่างไรก็ตาม คุณอาจเจอ error หาก Linux distribution ของคุณไม่มาพร้อมเครื่องมือนี้โดยค่าเริ่มต้น ในกรณีนั้น ให้พิมพ์คำสั่งต่อไปนี้เพื่อติดตั้ง:
$ sudo apt-get install htop
4. คำสั่ง "vmstat"
คำสั่ง vmstat จะแสดงรายงานสถิติ virtual memory คำสั่งนี้จะให้ข้อมูลมากกว่าที่คุณอาจต้องการ แต่หากคุณวางแผนจะเป็น Linux system admin คุณควรรู้จักมัน รายงานประกอบด้วยข้อมูลต่อไปนี้:
- จำนวนกระบวนการ (procs) ที่รอ runtime
- ปริมาณ swapped memory, free memory, cache และ buffers
- Blocks ที่รับและส่งไปยัง block device (IO)
- CPU times (user time, system time, idle time)
พิมพ์ vmstat ในเทอร์มินัลเพื่อรับรายงานสถิติ virtual memory
5. ตรวจสอบไฟล์ "proc/meminfo"
คุณอาจสงสัยว่าระบบ Linux ของคุณได้รายงานและข้อมูลการใช้ RAM ทั้งหมดมาจากไหน จริงๆ แล้ว เครื่องมือบรรทัดคำสั่งเกือบทั้งหมดที่คุณใช้มาจนถึงตอนนี้มีแหล่งที่มาเดียวกัน: ไฟล์เสมือน proc/meminfo หากคุณต้องการไปที่แหล่งที่มาโดยตรงและรับข้อมูลการใช้หน่วยความจำทั้งหมดที่คุณต้องการ คุณสามารถเข้าถึงไฟล์ได้ง่ายๆ โดยพิมพ์คำสั่งต่อไปนี้:
less /proc/meminfo
รายงานค่อนข้างยาว ดังนั้นคุณควรใช้คำสั่ง less เพื่อให้มีการควบคุมการนำทาง เพื่อสแกนผ่าน output อย่างรวดเร็วเพื่อหาข้อมูลที่คุณต้องการ อย่างไรก็ตาม รายงานโดยละเอียดนี้มีข้อมูลมากที่คุณอาจไม่ต้องการ นี่คือค่าที่สำคัญที่สุดที่คุณควรเน้น:
- MemTotal
- MemFree
- MemAvailable
- Buffers
- Cached
- SwapCached
- SwapTotal
- SwapFree
6. ใช้ GUI
Linux purists อาจคัดค้านการใช้ GUI มากกว่าเครื่องมือบรรทัดคำสั่ง แต่การมีการแสดงผลภาพของการใช้ RAM เป็นเรื่องดี คุณสามารถรับข้อมูลทั้งหมดที่ต้องการและติดตามการใช้หน่วยความจำของระบบแบบ real-time ได้โดยใช้แอป Linux System Monitor
เพื่อใช้แอป ให้พิมพ์ "System Monitor" ในแถบค้นหาของ start menu และกด Enter System Monitor มี 2 แท็บที่เราสนใจ: แท็บ Processes และ Resources
ในแท็บ Processes คุณสามารถดูกระบวนการทั้งหมดที่กำลังทำงานบนระบบปฏิบัติการ Linux ของคุณ คุณสามารถอ่านการใช้หน่วยความจำ, การใช้ CPU และข้อมูลอื่นๆ สำหรับแต่ละกระบวนการแยกต่างหาก นี่คือที่ที่คุณจะได้รู้ว่ามีแอปไหนไป rogue และใช้ RAM มากเกินไป จากนั้นคุณสามารถ kill กระบวนการจากหน้าต่างเดียวกันได้โดยคลิกขวาที่มันและเลือกตัวเลือก kill
ว่าด้วยหากสิ่งที่คุณต้องการคือแค่รู้ว่าหน่วยความจำและ CPU ของระบบทำงานอย่างไร คุณควรดู visualization แบบกราฟในแท็บ Resources
ที่นี่คุณสามารถดู history ของ CPU, RAM และ network เป็นกราฟ หมายความว่าคุณได้ข้อมูลเชิงประวัติเกี่ยวกับการใช้หน่วยความจำของระบบในช่วงเวลาหนึ่ง และยังสามารถติดตามการใช้งานแบบ real-time ได้อีกด้วย
คุณชอบตรวจสอบการใช้หน่วยความจำบนระบบปฏิบัติการ Linux ของคุณอย่างไร? คุณรู้คำสั่งและเครื่องมืออื่นๆ ที่สามารถรับข้อมูลที่มีค่ามากขึ้นสำหรับการวิเคราะห์ได้ไหม? แจ้งให้เราทราบในความคิดเห็นด้านล่าง!