ฉันสามารถดูสถิติระบบในเทอร์มินัลได้หรือไม่


34

วิดเจ็ตiStat Proช่วยให้สามารถตรวจสอบสถานะระบบที่แตกต่างกันเช่น

  • การใช้งาน CPU
  • แบนด์วิดท์เครือข่ายเข้า / ออก
  • การใช้ความจำ
  • ...

ฉันจะดูสถิติระบบดังกล่าวในเทอร์มินัลได้อย่างไร

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

คำตอบ:


56

ขึ้นอยู่กับสิ่งที่คุณต้องการดูมีหลายตัวเลือกในระดับเทอร์มินัล:

  • top: แสดงกระบวนการทำงานการใช้หน่วยความจำและสถิติที่คล้ายกัน
  • iostat: แสดง I / O ต่อเทอร์มินัลอุปกรณ์และสถิติฤดูร้อน SPU
  • vm_stat: แสดงข้อมูลสถิติหน่วยความจำเสมือนของ Mach
  • dfและdiskutil list: รายงานพื้นที่ใช้งานและฟรี
  • fs_usage: แสดงกิจกรรมไฟล์สำหรับทั้งดิสก์และเครือข่าย
  • nettop: แสดงข้อมูลที่อัปเดตเกี่ยวกับเครือข่าย (บิตเช่น top สำหรับ net I / O)
  • w: แสดงผู้ที่เข้าสู่ระบบสิ่งที่พวกเขากำลังทำและระบบโหลด
  • ifconfigและipconfig: รายละเอียดส่วนต่อประสานเครือข่ายและ IP

คำสั่งเหล่านี้ส่วนใหญ่มีรายการตัวเลือกมากมายซึ่งอาจเป็นการดีที่สุดที่จะศึกษารายละเอียดของ man page

ฉันมักจะใช้top -u -s 10เพื่อระบุกระบวนการที่ใช้ CPU และfs_usage -f filesys/ fs_usage -f networkเพื่อระบุกระบวนการที่สร้างภาระดิสก์ / เครือข่ายจำนวนมาก


@ JMY1000 ฮ่า ๆ ฉันชอบความคิดของกระบวนการที่กอด CPU :-) ขอบคุณสำหรับการแก้ไข
nohillside

@patrix Ah ความดีของความตาย
JMY1000


4

topคุณสามารถใช้ มันจะแสดงการใช้งาน CPU & RAM พร้อมกับกระบวนการทั้งหมด นอกจากนี้ยังจะแสดงแพ็กเก็ตเครือข่ายเข้า / ออกและแผ่นดิสก์ข้อมูลอ่าน / เขียน


2
และด้วยman topคุณสามารถดูวิธีการปรับแต่งเอาท์พุท
Rene Larsen

3

ข้างต้นเป็นคำสั่งที่ดี นอกจากนี้ฉันชอบที่จะใช้

$ du -ks *

เพื่อแสดงจำนวนพื้นที่ทั้งหมดของโฟลเดอร์ที่อยู่ใต้ไดเรกทอรีปัจจุบันของฉัน

คำสั่งนี้แสดงรายการไดเรกทอรี 10 อันดับแรกตามลำดับขนาด:

$ du -sh * | sort -nr | head -10

สำหรับเครื่องมือสถิติระบบโดยรวมฉันชอบงูใหญ่ดูดีกว่า:

https://nicolargo.github.io/glances/

นี่คือวิธีที่คุณสามารถติดตั้งบน Debian / Ubuntu:

$ sudo apt-get install glances

นี่คือวิธีที่คุณสามารถติดตั้งบน CentOS / Red Hat:

# yum  install glances

1

หากคุณมีปัญหาเครือข่ายโดยเฉพาะอย่างยิ่งกับเซิร์ฟเวอร์ที่สัมผัสกับอินเทอร์เน็ต lsof (1) จะมีประโยชน์อย่างยิ่ง มันแสดงรายการไฟล์ที่เปิดอยู่ทั้งหมด

ตัวอย่างเช่นlsof | fgrep '/Library/WebServer/จะแสดงไฟล์ทั้งหมดที่เปิดบนเว็บเซิร์ฟเวอร์ของคุณ ฉันใช้สิ่งนี้มากมายในการค้นหาและแบน "leeches" และ "bots" ที่ลดแบนด์วิดท์ของฉันโดยการดูดไฟล์ลงหลังไฟล์โดยอัตโนมัติ


1

วิธีที่ฉันต้องการเห็นการใช้งาน CPU ด้วยคำสั่งเดียวที่กลับมาทันทีคือ

ps -axro pcpu | awk '{sum+=$1} END {print sum}'

-ax: กระบวนการทั้งหมดรวมถึงกระบวนการที่ไม่ใช่เทอร์มินัลและกระบวนการที่คุณไม่ได้เป็นเจ้าของ

-r: เรียงตามการใช้ cpu

-o pcpu: แสดงผลเฉพาะฟิลด์% cpu % cpu เป็นกระบวนการเฉลี่ย 1 นาที แต่จะเฉลี่ยตลอดอายุการใช้งานของกระบวนการหากอายุการใช้งานน้อยกว่า 1 นาที

awk: รวมคอลัมน์แรกในแต่ละบรรทัดและพิมพ์ผลรวมที่ส่วนท้าย

นี่เป็นเมตริกซีพียูต่อคอร์ดังนั้นสำหรับ 12 คอร์ซีพียูที่คุณสามารถรับได้มากถึง 1200 คุณไม่ได้ต่อยอดที่ 100


0

ต่อไปนี้เป็นคำสั่งสองคำสั่งสำหรับการกำหนด IP ในพื้นที่และสาธารณะของคุณ:

IP ท้องถิ่น

ipconfig getifaddr en1

นี่คือเมื่อใช้ Wi-Fi en0สำหรับการใช้งานอีเธอร์เน็ต

IP สาธารณะ

curl whatismyip.org

1
เมื่อวันที่ปัจจุบันออกอากาศ MacBook (ซึ่งไม่ได้มีพอร์ต Ethernet) รหัสอุปกรณ์ en0Wi-Fi networksetup -listallhardwareports | grep -E '(Wi-Fi|AirPort)' -A 1 | grep -o "en."คุณสามารถหาสิ่งที่มันอยู่กับ
Lri
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.