วิธีการแสดง meminfo เป็นเมกะไบต์ด้านบน?


184

บางครั้งไม่สะดวกที่จะเห็น meminfo เป็นกิโลไบต์เมื่อคุณมี RAM หลายกิกะไบต์ ใน Linux ดูเหมือนว่า:

ด้านบนมีสถิติหน่วยความจำทั้งหมดปรับขนาดเป็น Kb

และนี่คือลักษณะที่ปรากฏใน Mac OS X:

มีการปรับสัดส่วนหน่วยความจำเป็น Mb และ Gb

มีวิธีการแสดง meminfo ในลีนุกซ์ชั้นนำในเทราไบต์, กิกะไบต์และเมกะไบต์หรือไม่?


6
เห็นได้ชัดว่าบางโพสต์บอกว่าใน Redhat Linux คุณสามารถเลือกที่top -Mจะแสดงการใช้งานเป็น MB หากคุณต้องการตรวจสอบการใช้งานหน่วยความจำเท่านั้นคุณสามารถใช้แทนhtopได้ ไม่แน่ใจในตัวเลือกอื่น ๆ
Barun

ใช่คุณเป็น แต่ไม่มีอะไรเกี่ยวกับเรื่องนั้นในการช่วยสร้าง ฉันเพิ่งพบบางครั้งก็พบว่าในหน้าคน
แอนโทนี่ Ananich

1
man page เป็นตัวช่วยในตัว
casey

3
คุณสามารถใช้free -mหรือดีกว่าfree -hเสมอ
terdon

5
เมื่อคุณข้ามไปสู่การเข้าสู่อันดับสูงสุดEจนกระทั่งมันแสดงหน่วยความจำสะสมที่คุณกำลังค้นหาแล้วกดWเพื่อเขียนการกำหนดค่าไปยังดิสก์
เทรเวอร์ Norris

คำตอบ:


205

เมื่ออยู่ด้านบนพิมพ์ตัวใหญ่ "E" วนผ่านหน่วยความจำที่แตกต่างกัน (kb, mb, gb ฯลฯ ) ในข้อมูลหน่วยความจำทั้งหมด:

ภาพแสดงหน่วยความจำทั่วไปสูงสุดโดยมี GiB เป็นหน่วย

ในขณะที่ตัวพิมพ์เล็ก "e" ทำหน้าที่เหมือนกับกระบวนการแต่ละบรรทัด:

ภาพแสดงกระบวนการด้านบนที่หน่วยความจำแสดงใน MiB

จาก manpage:

2c. MEMORY Usage
    This  portion  consists of two lines which may express values in kibibytes
    (KiB) through exbibytes (EiB) depending on  the  scaling  factor  enforced
    with the 'E' interactive command.

ข้อมูลรุ่น top -version :: procps-ng version 3.3.9 ระบบ: CentOS 7


7
ไม่ทำงานสำหรับฉันใน RHEL
แอนโทนี่ Ananich

4
ทำงานใน ubuntu 14.04 ไชโย
tjjjohnson

ทำงานใน fedora 20
sivann

5
@AnthonyAnanich: ทำงานให้ฉันใน RHEL 7 ได้
ไหม

3
<ไทม์แมชชีนจากอนาคต> ฉันพบว่าหน่วยเริ่มต้นของ Petabytes ไม่เพียงพอและไม่ช่วยเหลืออย่างมาก ฉันมักจะจบลงด้วยการกด E อย่างน้อยหนึ่งครั้งเพื่อตั้งค่าสูงสุดในหน่วย Exabytes </ เครื่องย้อนเวลาจากอนาคต>
Trevor Boyd Smith

69

มีตัวเลือกบรรทัดคำสั่งซึ่งทำเช่นนั้น:

-M : Detect memory units
            Show memory units (k/M/G) and display floating point values in the
            memory summary.

ดังนั้นจึงเพียงพอที่จะเรียกใช้บนเช่น:

top -M

หาก-Mไม่ได้ผลคุณสามารถกดEในขณะที่อยู่ด้านบน

จากman top(procps-ng เวอร์ชั่น 3.3.9):

E: Extend-Memory-Scale ในพื้นที่สรุปด้วยคำสั่งนี้คุณสามารถวนผ่านหน่วยความจำพื้นที่สรุปที่มีอยู่ซึ่งมีช่วงตั้งแต่ KiB (kibibytes หรือ 1,024 ไบต์) ถึง EiB (exbibytes หรือ 1,152,921,504,606,846,976 bytes)

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

แสดงหน่วยความจำใน "M"


23
+1 แต่ตรวจสอบใน Ubuntu ว่ามันไม่ทำงาน มีวิธีใดในอูบุนตู?
rʒɑdʒɑ

ฉันไม่มีเงื่อนงำ @richardparker
Anthony Ananich

1
ประณามคุณเพิ่มชั้นกรรมด้วยคำตอบที่เรียบง่าย (แต่ดี) ตอบเอง ทำได้ดีมาก
user1717828

4
ความพร่ามัวนั้นพร่ามัวไม่เพียงพออันโตนิโอ
Evgeni Sergeev

2
ใช้งานได้กับ RHEL 6 (การกด 'E' ไม่ได้เป็นความคิดเห็นสูงสุด)
Molten Ice

48

htopนอกจากนี้คุณยังสามารถใช้ มันเจ๋งกว่าtopมาก

หากคุณกำลังใช้ Debian sudo apt-get install htopหรือหนึ่งในสัญญาซื้อขายล่วงหน้าของมันแล้วคุณสามารถติดตั้งได้โดยใช้

ภาพหน้าจอ htop

แก้ไข: นี่คือภาพหน้าจอที่มีโทนสีที่ดีกว่า:

ภาพหน้าจอ htop ด้วยสีที่ดีขึ้น


17
htopดูดีขึ้นด้วยพื้นหลังสีขาวหรือสีดำ โทนสีภาพหน้าจอของคุณน้อยกว่าค่าที่เหมาะสม
jlliagre

2
@jlliagre สายตาของคนดู
Jonathan Komar

เพิ่มภาพหน้าจอ @ macmadness86 ทางเลือกแล้ว
jlliagre

1
FYI, htop มาพร้อมกับ shemes สีอื่น ๆ F2ซึ่งคุณสามารถเข้าถึงได้โดยไปที่การตั้งค่า
Miguel Mota

ฉันวิ่งด้วยalias top='htop --no-color'ดังนั้นฉันจึงสามารถพิมพ์ 'บนสุด' และได้รับการทดแทนที่เหมาะสมสำหรับด้านบนโดยไม่มีโครงร่างสีที่น่ากลัว
เบนจามิน

35

top -Mไม่สามารถใช้งานได้กับ Fedora, Debian หรือ Ubuntu distros ใด ๆ กับความรู้ของฉัน ฉันแค่ลองแล้วมันไม่ได้อยู่ในprocps-ngแพ็คเกจที่ให้topไว้ มีการนำไปใช้งานจำนวนมากtopดังนั้นจึงจำเป็นต้องให้ความสนใจเป็นพิเศษกับสิ่งที่พวกเขาใช้

โดยทั่วไปควรใช้freeกับการสลับเพื่อให้ได้ปริมาณหน่วยความจำที่ว่างบน Linux

procps vs. procps-ng

คุณอาจสังเกตเห็นว่าใน CentOS 5 & 6 เช่นเดียวกับ RHEL 5 & 6 ที่top -Mดูเหมือนจะใช้งานได้ เพราะนี่คือ distros procpsเหล่านั้นมาพร้อมกับรุ่นเดิม procps-ngโครงการนี้ได้รับคดเคี้ยวและมีอยู่ในขณะนี้โครงการอื่น

บางส่วนของรายละเอียดว่าทำไมมีส้อมจากหน้าโครงการ Fedora ของ

สิ่งที่สกัดมา

เครื่องมือ procps แบบเก่า (เก่า) ไม่มีการอัพเดตเป็นเวลาหลายปีและนำไปสู่การแบ่งรหัสจำนวนมากที่เกิดจากแอปพลิเคชันเฉพาะการกระจายเฉพาะแพตช์ซึ่งไม่ได้รวมกันอัปสตรีม โครงการสามารถบำรุงรักษาได้ยากเนื่องจากบางส่วนของแพทช์ที่เขียนขึ้นใหม่ไม่เข้ากันกับแหล่งที่ดูแลโดยผู้จัดจำหน่ายรายอื่น ความไม่ลงรอยกันที่คล้ายกันอาจสังเกตได้ในพฤติกรรมการใช้งานและสวิตช์บรรทัดคำสั่ง การปรับปรุงที่หลีกเลี่ยงไม่ได้นี้สามารถเข้าใจได้ว่าเป็นความพยายามที่จะรวมเครื่องมือ procps ไว้ในการกระจาย Linux ทั้งหมด

โครงการที่ชัดเจนprocps-ngคือเดเบียน Fedora อูบุนตูและดิสทรอสอื่น ๆ กำลังใช้งานอยู่ซึ่งเป็นโครงการดั้งเดิมซึ่งtop -Mยังคงรองรับการใช้งานรีลีสระยะยาวหลายตัวที่ไม่ได้ติดตามข่าวสารล่าสุด และยิ่งใหญ่ที่สุด

หมายเหตุ:ฉันดาวน์โหลดเวอร์ชั่นล่าสุดของprocps-ng"procps-ng เวอร์ชั่น 3.3.9.1-14ef" และมันก็ขาด-Mสวิตช์เช่นกัน

$ ./top/top -version
  procps-ng version 3.3.9.1-14ef
Usage:
  lt-top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

ฟรี

ในการทำงานfreeกับสวิทช์ที่คุณสามารถดูเหตุผลส่วนใหญ่ที่เป็นสาเหตุที่ขาดคุณลักษณะหน่วยหายไปจากprocps-ng's topการดำเนินงานของ

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7782       6506       1276          0        504       1726
-/+ buffers/cache:       4274       3507
Swap:         7823       1429       6394
[saml@greeneggs ~]$ free -k
             total       used       free     shared    buffers     cached
Mem:       7969492    6663180    1306312          0     516948    1764780
-/+ buffers/cache:    4381452    3588040
Swap:      8011772    1463456    6548316

การปัดเศษเป็นปัญหาดังนั้นฉันจึงเชื่อว่าprocpsการนำไปปฏิบัติจะหลีกเลี่ยงปัญหานี้โดยไม่เสนอความสามารถ

htop

ทำงาน OK เพื่อแสดงการใช้หน่วยความจำรวมหรือไม่

   เอสเอสของ htop

บนยอด

ในความคิดของฉันเป็นเครื่องมือที่ดีกว่าสำหรับการดูที่หน่วยความจำ

   เอสเอสของบนยอด

NMON

เครื่องมือที่มีประโยชน์อีกอย่างหนึ่งคือnmonการดูประสิทธิภาพของระบบ

   เอสเอสของ nmon


1
top -Mใช้ได้กับฉันใน RHEL6
Anthony Ananich

2
@AnthonyAnanich - ฉันค้นคว้าข้อมูลนี้อีกเล็กน้อย CentOS 5.4 รุ่นยอดนิยม "procps เวอร์ชัน 3.2.8" มี-Mสวิตช์ CentOS 5.8 ยังมีสวิตช์นี้ "procps รุ่น 3.2.7" อย่างไรก็ตาม Fedora 19 มี "procps-ng เวอร์ชั่น 3.3.8" ซึ่งไม่รองรับ-Mสวิตช์
slm

@AnthonyAnanich - เพิ่มรายละเอียดลงในคำตอบของฉันเกี่ยวกับ procps vs. procps-ng
slm

คำตอบที่ดีขอบคุณ @slm ฉันไม่รู้ด้วยซ้ำว่าคำตอบใดในสามคำตอบที่ดีที่สุด จะไม่ให้รางวัลกับใครฉันต้องการให้คนอื่นตัดสินใจ
Anthony Ananich

@AnthonyAnanich - NP คุณควรพิจารณาเลือกหนึ่งถ้าคุณรู้สึกว่ามันตอบคำถามของคุณ 100% การยอมรับกเป็นสิ่งสำคัญเนื่องจากมันจะส่งสัญญาณไปยังส่วนที่เหลือของชุมชนที่ผ่าน Q ของคุณว่าคุณในขณะที่ OP รู้สึกว่านี่ตอบหรือแก้ไขปัญหาเฉพาะของคุณ ถ้าคนอื่นมีความโดดเด่นพวกเขาจะได้รับ UV เช่นกัน การไม่ยอมรับมันเป็นสัญญาณว่าคุณในฐานะ OP ยังรู้สึกว่า Q ของคุณไม่ได้ตอบอย่างเพียงพอ A ที่ได้รับการยอมรับจะได้รับการจัดอันดับเป็น A A เมื่อ ppl เห็น Q ของคุณในอนาคต
SLM

23

คุณสามารถกดปุ่มต่อไปนี้:

  • e - เปลี่ยนปัจจัยการปรับสเกลบนจอแสดงผลสรุป
  • Shift+ e- เปลี่ยนปัจจัยการปรับสเกลในงาน
  • Shift+ w- บันทึกการตั้งค่าปัจจุบัน

จดหมายและกะอีรอบวิธีอื่น ๆ ในระบบของฉันอย่างน้อย ...
fifaltra

3
ไม่ทราบเกี่ยวกับShift+ wและเคล็ดลับที่ยอดเยี่ยมในการบันทึกการกำหนดค่าของฉัน :)
เบา ๆ

6

ดังนั้นคำตอบด่วน: ขึ้นอยู่กับ distro linux ของคุณลองทำอย่างใดอย่างหนึ่ง:

top -M

หรือหลังจากเริ่มต้นด้านบนให้พิมพ์ capital E (จากนั้นWเพื่อเขียนการตั้งค่า)

หนึ่งในนั้นควรใช้ได้กับทุกคนเกือบทุกคน (ยกเว้น Solaris ซึ่งแน่นอนว่าคุณจะโชคดีที่ติดอันดับเลย)

เคล็ดลับโบนัส: ทุกครั้งที่คุณเริ่มอินสแตนซ์บนสุดของการติดตั้งใหม่ให้พิมพ์ExyzWเพื่อบันทึกสีและการไฮไลต์และยูนิต


5
ข้อมูลทั้งหมดนี้ได้รับการโพสต์แล้ว
สกอตต์

0

บนการเปลี่ยนแปลงสูงสุดของ RHEL7 + e หรือ CspsLK ON คุณต้องใช้อักษรตัวใหญ่ "E"

คุณจะได้รับใน MiB, Gib, TiB, PiB, EiB ทั้งหมดนี้คุณสามารถเข้าถึงได้

และคุณสามารถที่คุณจะสั่งคำสั่ง htop ซึ่งควรจะ downlaoded และติดตั้งบนระบบฐาน rpm

ขอขอบคุณ. Sagar Dalvi

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