วิธีการวัดการใช้หน่วยความจำกระบวนการโซลาริส?


11

วิธีตรวจสอบจำนวนหน่วยความจำที่กระบวนการ Solaris ใช้อยู่? ฉันต้องการจัดสรรพื้นที่ที่อยู่ทั้งหมดและจำนวนที่อยู่ใน RAM

ฉันพยายามรวมเอาท์พุท pmap ด้วยสคริปต์ awk แต่มันแฮ็คที่น่าเกลียด มีวิธีที่ดีกว่าในการเขียนสคริปต์หรือไม่

คำตอบ:


18
  1. prstat -s rss

    '-s' เรียงลำดับ prstat เอาต์พุตตามคอลัมน์ rss (ดูหน้า man สำหรับคอลัมน์อื่น ๆ ) ลองตัวเลือก '-a' เพื่อการสะสมต่อผู้ใช้

  2. ps -eo pid,pmem,vsz,rss,comm | sort -rnk2 | head

    ผู้บริโภคแรม 10 อันดับแรก '-o pmem' แสดงเปอร์เซ็นต์ของหน่วยความจำภายในเช่น RAM ที่ใช้โดยกระบวนการ

  3. ls -lh /proc/{pid}/as

    วิธีง่ายๆในการแสดงพื้นที่ที่อยู่ทั้งหมด (vsz) ของกระบวนการ มีประโยชน์เมื่อใช้ร่วมกับ pgrep เพื่อสะสมโดยผู้ใช้, รูปแบบ, ... เช่น:

    for pid in `pgrep -U webserver`; do ls -lh /proc/$pid/as; done
    

3

หลังจากฉันอ่านหน้าคนฉันก็มีดังต่อไปนี้

ps -o vsz -p $PID | tail -1

มันค่อนข้างตรงไปตรงมา รูปแบบสำหรับขนาดที่อยู่อาศัยคือ RSS



2

ฉันใช้รูปแบบของผลลัพธ์นี้ในสคริปต์:

# prstat -Z 1 1 | tail -3
ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE                        
220       56 1057M  413M   0.3%   1:26:49 0.1% 820f6ce5-7e37-4455-80ab-b28c5de19b43
Total: 56 processes, 169 lwps, load averages: 0.07, 0.06, 0.06

0

$ .02 ของฉันในฐานะผู้จัดการชุมชน Zenoss ...

Zenoss สามารถตรวจสอบสถานะของอุปกรณ์เครือข่ายและเซิร์ฟเวอร์ทั้งหมดของคุณรวมถึงกระบวนการทำงานบนเซิร์ฟเวอร์ของคุณ หนึ่งในสมาชิกชุมชนของเราได้ส่งการตรวจสอบกระบวนการสำหรับโซลาริสผ่าน SNMP: http://community.zenoss.org/docs/DOC-5882

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