หน้าที่ที่สำคัญที่สุดของผู้ดูแลระบบ Linux คือต้องตรวจสอบให้แน่ใจว่าระบบที่เขา/เธอดูแลอยู่นั้นอยู่ในสภาพที่ดีมาก มีเครื่องมือมากมายสำหรับผู้ดูแลระบบ Linux ที่สามารถช่วยตรวจสอบและแสดงกระบวนการในระบบเช่น สูงสุด และ htopแต่ไม่มีเครื่องมือใดที่สามารถแข่งขันกับ สะสม.
สะสม เป็นยูทิลิตีบรรทัดคำสั่งที่มีคุณลักษณะที่ดีมากที่สามารถใช้เพื่อรวบรวมข้อมูลประสิทธิภาพที่อธิบายสถานะระบบปัจจุบัน ต่างจากเครื่องมือตรวจสอบอื่น ๆ ส่วนใหญ่ collectl ไม่ได้เน้นที่ตัวชี้วัดระบบจำนวนจำกัด แทนที่จะสามารถรวบรวมข้อมูลได้หลากหลาย ประเภทของทรัพยากรระบบ เช่น cpu, ดิสก์, หน่วยความจำ, เครือข่าย, ซ็อกเก็ต, tcp, inodes, infiniband, lustre, หน่วยความจำ, nfs, กระบวนการ, quadrics, slabs และ buddyinfo
สิ่งดีๆ ในการใช้ สะสม คือยังสามารถเล่นบทบาทของยูทิลิตี้ที่ออกแบบมาโดยเฉพาะเพื่อวัตถุประสงค์เฉพาะเช่นบน, ps, iotop และอื่น ๆ อีกมากมาย. คุณสมบัติบางอย่างที่ทำให้ สะสม เครื่องมือที่มีประโยชน์?
หลังจากทำการวิจัยเป็นจำนวนมาก ฉันได้รวบรวมรายการที่มีคุณลักษณะที่สำคัญที่สุดบางอย่างของยูทิลิตี้บรรทัดคำสั่งของ collectl สำหรับพวกคุณ
NS สะสม ยูทิลิตีทำงานบนลีนุกซ์ดิสทริบิวชันทั้งหมด สิ่งเดียวที่ต้องรันคือ Perl ดังนั้นตรวจสอบให้แน่ใจว่าคุณมี Perl ติดตั้งในเครื่องของคุณก่อนที่จะติดตั้ง collectl ในเครื่องของคุณ
คำสั่งต่อไปนี้สามารถใช้เพื่อติดตั้งยูทิลิตี้ Collectl ในเครื่องที่ใช้ Debian เช่น Ubuntu
$ sudo apt-get install collectl
หากคุณกำลังใช้ distro แบบ Red Hat คุณสามารถคว้ามันจาก repos ได้อย่างง่ายดายด้วยคำสั่ง yum
# ยำติดตั้ง Collectl
เมื่อการติดตั้งเครื่องมือ collectl เสร็จสิ้น คุณสามารถเรียกใช้จากเทอร์มินัลได้อย่างง่ายดาย แม้จะไม่มีตัวเลือกใดๆ คำสั่งต่อไปนี้จะแสดงข้อมูลเกี่ยวกับสถิติซีพียู ดิสก์ และเครือข่ายในรูปแบบที่สั้นมากและมนุษย์สามารถอ่านได้
# สะสมรอตัวอย่าง 1 วินาที... # #cpu sys ระหว่าง ctxsw KBRead อ่าน KBWrit เขียน KBIn PktIn KBOut PktOut 13 5 790 1322 0 0 92 7 4 13 0 5 10 2 719 1186 0 0 0 0 3 9 0 4 12 0 753 1188 0 0 52 3 2 5 0 6 13 2 733 1063 0 0 0 0 1 1 0 1 25 2 834 1375 0 0 0 0 1 1 0 1 28 2 870 1424 0 0 36 7 1 1 0 1 19 3 949 2271 0 0 44 3 1 1 0 1 17 2 809 1384 0 0 0 0 1 6 0 6 16 2 732 1348 0 0 0 0 1 1 0 1 22 4 993 1615 0 0 56 3 1 2 0 3
อย่างที่พวกคุณเห็นได้จากเอาต์พุตด้านบนที่แสดงในหน้าจอเทอร์มินัล มันง่ายมากที่จะทำงานกับค่าเมทริกของระบบที่มีอยู่ในเอาต์พุตคำสั่ง เพราะมันปรากฏในบรรทัดเดียว
เมื่อยูทิลิตี้ collectl ถูกดำเนินการโดยไม่มีตัวเลือกใดๆ ยูทิลิตี้นี้จะแสดงข้อมูลเกี่ยวกับระบบย่อยต่อไปนี้:
บันทึก: ในกรณีของเรา ระบบย่อยคือทรัพยากรระบบทุกประเภทที่สามารถวัดได้
คุณยังสามารถแสดงสถิติสำหรับระบบย่อยทั้งหมด ยกเว้น slab โดยการรวมคำสั่งกับ -ทั้งหมด ตัวเลือกดังที่แสดงด้านล่าง
# รวบรวม -- ทั้งหมดรอตัวอย่าง 1 วินาที... # #cpu sys ระหว่าง ctxsw Cpu0 Cpu1 ฟรี Buff Cach Inac Slab Map Fragments KBRead อ่าน KBWrit เขียน KBIn PktIn KBOut PktOut IP Tcp Udp Icmp Tcp Udp Raw Frag Handle Inodes อ่าน เขียน Meta Comm 16 3 817 1542 430 390 1G 175M 1G 683M 193M 1G nsslkjjebbk 0 0 24 3 1 1 0 1 0 0 0 0 623 0 0 0 8160 240829 0 0 0 0 0 11 1 745 1324 316 426 1G 175M 1G 683M 193M 1G nsslkjjebbk 0 0 0 0 0 3 0 2 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0 15 2 793 1683 371 424 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 0 0 1 1 0 1 0 0 0 0 622 0 0 0 8160 240829 0 0 0 0 16 2 872 1875 427 446 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 24 3 1 1 0 1 0 0 0 622 0 0 0 8160 240828 0 0 0 0 24 2 842 1383 473 368 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 168 6 1 1 0 1 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0 27 3 844 1099 478 365 1G 175M 1G 683M 193M 1G nsslkjjebbk 0 0 0 0 1 6 1 9 0 0 0 0 622 0 0 0 0 8160 240828 0 0 0 0 26 5 823 1238 396 428 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 0 0 2 11 3 9 0 0 0 0 622 0 0 0 8160 240828 0 0 0 0 15 1 753 1276 361 391 1G 175M 1G 683M 193M 1G ssslkjjebbk 0 0 40 3 1 2 0 3 0 0 0 0 623 0 0 0 8160 240829 0 0 0 0
แต่คุณจะตรวจสอบการใช้งาน cpu ด้วยความช่วยเหลือของยูทิลิตี้ได้อย่างไร? NS '-NSควรใช้ตัวเลือกเพื่อควบคุมว่าข้อมูลระบบย่อยใดที่จะรวบรวมหรือเล่น
ตัวอย่างเช่น คำสั่งต่อไปนี้สามารถใช้เพื่อตรวจสอบสรุปการใช้งานซีพียู
# สะสม -scรอตัวอย่าง 1 วินาที... # #cpu sys ระหว่าง ctxsw 15 2 749 1155 16 3 772 1445 14 2 793 1247 27 4 887 1292 24 1 796 1258 16 1 743 1113 15 1 743 1179 14 1 706 1078 15 1 764 1268
จะเกิดอะไรขึ้นเมื่อคุณรวมคำสั่งกับ “scdn“? วิธีที่ดีที่สุดในการเรียนรู้วิธีการใช้เครื่องมือบรรทัดคำสั่งคือการฝึกฝนให้มากที่สุด ดังนั้นให้รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณและดูว่าจะเกิดอะไรขึ้น
# collectl -scdnรอตัวอย่าง 1 วินาที... # #cpu sys ระหว่าง ctxsw KBRead อ่าน KBWrit เขียน KBIn PktIn KBOut PktOut 25 4 943 3333 0 0 0 0 1 1 0 2 27 3 825 2910 0 0 0 0 1 1 0 1 27 5 886 2531 0 0 0 0 0 0 0 1 20 4 872 2406 0 0 0 0 1 1 0 1 26 1 854 2091 0 0 20 2 1 1 0 1 39 4 1004 3398 0 0 0 0 2 8 3 6 41 6 955 2464 0 0 40 3 1 2 0 3 25 7 890 1609 0 0 0 0 1 1 0 1 16 2 814 1165 0 0 796 43 2 2 0 2 14 1 779 1383 0 0 48 6 1 1 0 1 11 2 795 1285 0 0 0 0 2 14 1 14
คุณสามารถเข้าใจได้ง่ายว่าตัวเลือกเริ่มต้นคือ “cdn“ มันย่อมาจาก cpu ดิสก์ และข้อมูลเครือข่าย ผลลัพธ์ของคำสั่งเหมือนกับผลลัพธ์ของ “collectl -scn”
หากคุณต้องการรวบรวมข้อมูลเกี่ยวกับหน่วยความจำ ให้ใช้คำสั่งต่อไปนี้
# สะสม -smรอตัวอย่าง 1 วินาที... # # ฟรี Buff Cach Inac Slab แผนที่ 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G 1G 177M 1G 684M 193M 1G
ผลลัพธ์ข้างต้นมีประโยชน์มากเมื่อคุณต้องการรับข้อมูลโดยละเอียดเกี่ยวกับการใช้หน่วยความจำ หน่วยความจำว่าง และสิ่งสำคัญอื่นๆ สำหรับประสิทธิภาพของระบบของคุณ
แล้วข้อมูลบางอย่างบน tcp ล่ะ? ใช้คำสั่งต่อไปนี้เพื่อทำ
# สะสม -stรอตัวอย่าง 1 วินาที... # # IP Tcp Udp Icmp 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
หลังจากที่คุณได้รับประสบการณ์มาแล้ว คุณสามารถรวมตัวเลือกต่างๆ เข้าด้วยกันได้อย่างง่ายดายเพื่อให้ได้ผลลัพธ์ที่คุณต้องการ ตัวอย่างเช่น คุณสามารถรวม “NS” สำหรับ tcp และ “ค” สำหรับซีพียู คำสั่งต่อไปนี้ทำอย่างนั้น
# collectl -stcรอตัวอย่าง 1 วินาที... # #cpu sys ระหว่าง ctxsw IP Tcp Udp Icmp 23 8 961 3136 0 0 0 0 24 5 916 3662 0 0 0 0 21 8 848 2408 0 0 0 0 30 10 916 2674 0 0 0 0 38 3 826 1752 0 0 0 0 31 3 820 1408 0 0 0 0 15 5 781 1335 0 0 0 0 17 3 802 1314 0 0 0 0 17 3 755 1218 0 0 0 0 14 2 788 1321 0 0 0 0
มันยากสำหรับมนุษย์เราที่จะจำตัวเลือกที่มีอยู่ทั้งหมด ดังนั้นฉันจึงโพสต์รายการสรุปของระบบย่อยที่เครื่องมือสนับสนุน
ข้อมูลที่สำคัญมากสำหรับผู้ดูแลระบบหรือผู้ใช้ Linux คือข้อมูลที่รวบรวมจากการใช้ดิสก์ คำสั่งต่อไปนี้จะช่วยคุณในการตรวจสอบการใช้ดิสก์
# collectl -sdรอตัวอย่าง 1 วินาที... # #KBRead อ่าน KBWrit เขียน 0 0 0 0 0 0 0 0 0 0 92 7 0 0 0 0 0 0 36 3 0 0 0 0 0 0 0 0 0 0 100 7 0 0 0 0
คุณยังสามารถใช้ “-sD” ตัวเลือกในการรวบรวมข้อมูลในแต่ละดิสก์ แต่คุณต้องรู้ว่าข้อมูลเกี่ยวกับดิสก์ทั้งหมดจะไม่ถูกรายงาน
# สะสม -sDรอตัวอย่าง 1 วินาที... # สถิติดิสก์ (/วินาที) #ปตท. #Name KBytes ที่ผสาน IOs ขนาด KBytes ที่ผสาน ขนาด IOs RWSize QLen รอ SvcTim Util sda 0 0 0 0 52 11 2 26 26 1 8 8 1. sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 24 0 2 12 12 0 0 0 0 sda 0 0 0 0 152 0 4 38 38 0 0 0 0 sda 0 0 0 0 192 45 3 64 64 1 20 20 5. sda 0 0 0 0 204 0 2 102 102 0 0 0 0 sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 116 26 3 39 38 1 16 16 4. sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0 sda 0 0 0 0 32 5 3 11 10 1 16 16 4. sda 0 0 0 0 0 0 0 0 0 0 0 0 0 0
คุณยังสามารถใช้ระบบย่อยรายละเอียดอื่นๆ เพื่อรวบรวมข้อมูลโดยละเอียดได้ ต่อไปนี้เป็นรายการของระบบย่อยรายละเอียด
มีตัวเลือกมากมายในยูทิลิตี้ Collectl แต่ไม่มีเวลาและพื้นที่เพียงพอที่จะครอบคลุมทั้งหมดในบทความเดียว อย่างไรก็ตามควรกล่าวถึงและสอนวิธีใช้ยูทิลิตี้เช่น สูงสุด และ ปล.
มันง่ายมากที่จะทำให้คอลเลคชันทำงานเป็นยูทิลิตี้อันดับต้น ๆ เพียงเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลของคุณและคุณจะเห็นผลลัพธ์ที่คล้ายกัน สูงสุด เครื่องมือช่วยให้คุณทำงานในระบบ Linux ของคุณได้
# สะสม --top # TOP PROCESSES เรียงตามเวลา (ตัวนับคือ /sec) 13:11:02 น. # ผู้ใช้ PID PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB คำสั่ง MajF MinF ^COuch!tecmint 20 1 40 R 1G 626M 0 0.01 0.14 15 28:48.24 0 0 0 109 /usr/lib/firefox/firefox 3403 tecmint 20 1 40 R 1G 626M 1 0.00 0.20 20 28:48.44 0 0 0 600 /usr /lib/firefox/firefox 5851 tecmint 20 4666 0 R 17M 13M 0 0.02 0.06 8 00:01.28 0 0 0 0 /usr/bin/perl 1682 root 20 1666 2 R 211M 55M 1 0.02 0.01 3 03:10.24 0 0 0 95 /usr/bin/X 3454 tecmint 20 3403 8 S 216M 45M 1 0.01 0.02 3 01:23.32 0 0 0 0 /usr/lib/firefox/plugin-container 4658 tecmint 20 4657 3 S 207M 17M 1 0.00 0.02 2 00:08.23 0 0 0 142 gnome-terminal 2890 tecmint 20 2571 3 S 340M 68M 0 0.00 0.01 1 01:19.95 0 0 0 0 compiz 3521 tecmint 20 1 24 S 710M 148M 1 0.01 0.00 1 01:47.84 0 0 0 0 skype 1 ราก 20 0 0 S 3M 2M 0 0.00 0.00 0 00:02.57 0 0 0 0 /sbin/ init 2 root 20 0 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 kthreadd 3 รูท 20 2 0 S 0 0 0 0.00 0.00 0 00:00.60 0 0 0 0 ksoftirqd/0 5 รูท 0 2 0 S 0 0 0 0.00 0.00 0 00:000.00 0 0 0 0 kworker /0:0H 7 root 0 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 kworker/u: 0H 8 root RT 2 0 S 0 0 0 0.00 0.00 0 00:04.42 0 0 0 0 การย้ายข้อมูล/0 9 root 20 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 rcu_bh 10 ราก 20 2 0 R 0 0 0 0.00 0.00 0 00:02.22 0 0 0 0 rcu_sched 11 ราก RT 2 0 S 0 0 0 0.00 0.00 0 00:00.05 0 0 0 0 สุนัขเฝ้าบ้าน/0 12 ราก RT 2 0 S 0 0 1 0.00 0.00 0 00:00.07 0 0 0 0 สุนัขเฝ้าบ้าน /1 13 รูท 20 2 0 S 0 0 1 0.00 0.00 0 00:00.73 0 0 0 0 ksoftirqd/1 14 ราก RT 2 0 S 0 0 1 0.00 0.00 0 00:01.96 0 0 0 0 การย้ายข้อมูล/1 16 ราก 0 2 0 S 0 0 1 0.00 0.00 0 00:000.00 0 0 0 0 kworker/1:0H 17 root 0 2 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 cpuset
และสุดท้ายแต่ไม่ท้ายสุด การใช้ยูทิลิตี้ collectl เป็นเครื่องมือ ps ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ คุณจะได้รับข้อมูลเกี่ยวกับกระบวนการในระบบของคุณเช่นเดียวกับที่คุณทำเมื่อคุณเรียกใช้ "ปล” ในเทอร์มินัลของคุณ
# collectl -c1 -sZ -i: 1รอตัวอย่าง 1 วินาที... ### บันทึก 1 >>> tecmint-vgn-z13gn <<< (1397979716.001) (อาทิตย์ 20 เมษายน 13:11:56 2014) ### # สรุปกระบวนการ (ตัวนับคือ / วินาที) # ผู้ใช้ PID PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB คำสั่ง MajF MinF 1 root 20 0 0 S 3M 2M 0 0.00 0.00 0 00:02.57 0 0 0 0 0 /sbin/init 2 root 20 0 0 S 0 0 1 0.00 0.00 0 00:000.00 0 0 0 0 kthreadd 3 ราก 20 2 0 S 0 0 0 0.00 0.00 0 00:00.60 0 0 0 0 ksoftirqd/0 5 ราก 0 2 0 S 0 0 0 0.00 0.00 0 00:000.00 0 0 0 0 kworker/0:0H 7 root 0 2 0 S 0 0 0 0.00 0.00 0 00:000.00 0 0 0 0 kworker/u: 0H 8 root RT 2 0 S 0 0 0 0.00 0.00 0 00:04.42 0 0 0 0 การย้ายข้อมูล/0 9 root 20 2 0 S 0 0 0 0.00 0.00 0 00 00.00 0 0 0 0 rcu_bh 10 root 20 2 0 S 0 0 0 0.00 0.00 0 00:02.24 0 0 0 0 rcu_sched 11 ราก RT 2 0 S 0 0 0 0.00 0.00 0 00:00.05 0 0 0 0 สุนัขเฝ้าบ้าน/0 12 ราก RT 2 0 S 0 0 1 0.00 0.00 0 00: 00.07 0 0 0 0 สุนัขเฝ้าบ้าน/1 13 ราก 20 2 0 S 0 0 1 0.00 0.00 0 00:00.73 0 0 0 0 ksoftirqd/1 14 root RT 2 0 S 0 0 1 0.00 0.00 0 00:01.96 0 0 0 0 การย้ายข้อมูล/1 16 ราก 0 2 0 S 0 0 1 0.00 0.00 0 00:000.00 0 0 0 0 kworker/1:0H 17 root 0 2 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 cpuset 18 root 0 2 0 S 0 0 1 0.00 0.00 0 00:00.00 0 0 0 0 khelper 19 ราก 20 2 0 ส 0 0 0 0.00 0.00 0 00:000.00 0 0 0 0 kdevtmpfs 20 ราก 0 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 netns 21 ราก 20 2 0 S 0 0 0 0.00 0.00 0 00:00.00 0 0 0 0 bdi-default 22 root 0 2 0 S 0 0 0 0.00 0.00 0 00:000.00 0 0 0 0 kintegrityd
ฉันแน่ใจมากว่าผู้ดูแลระบบ Linux หลายคนจะชอบเครื่องมือนี้และจะรู้สึกถึงพลังของมันเมื่อใช้งานอย่างเต็มที่ หากคุณต้องการพัฒนาความรู้ของคุณเกี่ยวกับคอลเลคชันไปอีกระดับ ให้อ้างอิงกับหน้าคู่มือและฝึกฝนต่อไป
เพียงพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัลของคุณแล้วเริ่มอ่าน
# ผู้ชายสะสม
Collectl หน้าแรก