การใช้หน่วยความจำคำสั่ง TOP


14

ภายใต้ SuSE (Mem: 31908592k total, 31421504k ใช้แล้ว) ฉันจะรู้ได้อย่างไรว่ากระบวนการหรือโปรแกรมใดที่ใช้หน่วยความจำของฉัน

คำตอบ:


24

มาตรฐาน (บรรทัดคำสั่ง) โปรแกรมสำหรับการตรวจสอบการใช้ CPU / หน่วยความจำสำหรับกระบวนการคือtopยังมีคุณลักษณะที่เต็มรูปแบบมากขึ้นเล็กน้อยhtopแต่ในหลายระบบของมันผูกพันที่จะtopอยู่แล้ว (แบบเดียวกับbashที่ถูกผูกไว้เกือบตลอดไปshในที่สุดระบบลินุกซ์ที่ทันสมัย) . นอกจากนี้ยังมีตัวห่อ GUI ต่าง ๆ สำหรับ top / htop

หลังจากเปิดด้านบนการคลิกMจะจัดเรียงตามการใช้หน่วยความจำ

แก้ไข - 4-12 เพื่อความชัดเจนฉันตัดสินใจขยายการเรียงลำดับ นี่เป็นtopหน้าต่างทั่วไปเมื่อเรียกใช้จากเทอร์มินัลเชลล์ซึ่งจะเรียงลำดับตามแล้ว%MEM

ป้อนคำอธิบายรูปภาพที่นี่

คอลัมน์ที่คุณสนใจมากที่สุดคือ%MEMสิ่งที่จะให้ส่วนแบ่งของหน่วยความจำที่มีอยู่ทั้งหมดที่ใช้โดยกระบวนการนั้น VIRTให้ร่องรอยหน่วยความจำเสมือนของกระบวนการซึ่งมีเพียงRESจำนวนเงินเท่านั้นที่อยู่ในหน่วยความจำกายภาพปัจจุบัน (ส่วนที่เหลือถูกสลับออกและไม่ได้แสดงอยู่บนตารางในปัจจุบัน)

เพื่อจัดเรียงตามคอลัมน์ที่คุณกดF(shift-F) และหน้าจอจะเปลี่ยนเป็นรายการต่อไปนี้

ป้อนคำอธิบายรูปภาพที่นี่

อย่างที่คุณเห็นการกดปุ่มnจะเลือกจัดเรียงตามเปอร์เซ็นต์หน่วยความจำ (กด Enter เพื่อกลับสู่มุมมองตาราง) (มีทางลัดแบบดั้งเดิม Shift-m ที่จะสลับการเรียงลำดับตามหน่วยความจำเมื่อกดปุ่มในมุมมองตาราง) คุณสามารถใช้<และ>ในมุมมองตาราง (shift - และ shift-.) เพื่อหมุนเวียนคอลัมน์ที่เรียงลำดับ

ที่มุมมองตารางการกดปุ่มตัวพิมพ์เล็กmจะสลับมุมมองสรุปหน่วยความจำป้อนคำอธิบายรูปภาพที่นี่

หมายเหตุ:ฉันเล่นไปรอบ ๆ กับคอลัมน์การเรียงลำดับดังนั้นคอลัมน์จะถูกสับจากภาพแรก

เช่นยูทิลิตี้บรรทัดคำสั่ง unix / linux จำนวนมากมีลูกเล่นเล็ก ๆ น้อย ๆ มากมายและมีคุณสมบัติที่ซ่อนอยู่ - ด้านบนเป็นเครื่องมือที่ทรงพลังมาก ตัวอย่างเช่นคุณสามารถแสดงหลายตารางในเวลาเดียวกัน (พูดด้านบน 5 แทน 20 อันดับแรก แต่สำหรับพารามิเตอร์ที่แตกต่างกัน 4-5 ตัว) - อย่างไร ฉันไม่รู้ แต่ฉันบังเอิญไปถึงตอนถ่ายภาพหน้าจอ บทเต็มของหนังสือที่ดีเกี่ยวกับ * ระวังสามารถทุ่มเทให้กับtopดังนั้นสรุปข้างต้นเป็นเพียงไพรเมอร์ขนาดเล็กเพื่อให้ได้สิ่งที่คุณต้องรู้เกี่ยวกับกระบวนการของคุณ


Crasic, ขอบคุณสำหรับคำตอบของคุณฉันรู้ว่าคำสั่งด้านบนจะแสดงให้คุณ: (Mem: 31908592k รวม, 31153712k ใช้, 754880k ฟรี,) แต่สิ่งที่ฉันต้องรู้คือหน่วยความจำทั้งหมดนี้ถูกนำมาใช้
AlBouazizi

ดูในคอลัมน์ "% MEM" ด้านบน
Daniel Andersson

@AlBouazizi Top จะทำตามขั้นตอนการเรียงลำดับเริ่มต้น (รายการด้านล่างแถบแบนเนอร์) โดยการกดปุ่ม CPU M(เช่น Shift-m) จะเปลี่ยนรายการตามการใช้หน่วยความจำ
crasic

ขอบคุณสำหรับคำตอบโดยละเอียดของฉันฉันได้เรียนรู้สิ่งใหม่ .. แต่ก็ยังไม่ทราบว่ามีการใช้งาน
31GB

@AlBouazizi โปรแกรมที่อยู่ด้านบนของหน้าเมื่อคุณเรียงลำดับตามการใช้หน่วยความจำคืออะไร?
crasic

1

สิ่งนี้จะทำให้การประมวลผลเป็นเวลานานคุ้มค่าที่จะลอง

ps -eo pid,pmem,rss,comm --sort rss

Risyasin ฉันลองใช้คำสั่งของคุณ แต่ไม่ได้ช่วยอะไรที่ฉันกำลังมองหา ฉันมีหน่วยความจำที่ใช้แล้ว 31GB ฉันต้องรู้ว่าใครใช้ความจำนี้ ขอบคุณใด ๆ
AlBouazizi

0

คุณสามารถใช้คำสั่งต่อไปนี้:

ps ww -eo pid,pcpu,pmem,rss,cmd --sort rss

ฟิลด์ "rss" หมายถึงการใช้หน่วยความจำ

- เรียง RSS - ความหมายเรียงตามการใช้หน่วยความจำเรียง

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