24 สุดยอดเครื่องมือตรวจสอบประสิทธิภาพเครือข่ายและระบบของ Linux
ฉบับนี้ ผู้เขียนขอแนะนำให้รู้จักกับเครื่องมือ ทรงประสิทธิภาพ สำหรับการดูแลระบบเครือข่าย และ Server ที่ทำงานภายใต้ ระบบปฏิบัติการ Linux 25 รายการซึ่งมากเพียงพอสำหรับที่ต้องการ ตรวจสอบประสิทธิภาพการทำงาน รวมทั้งการหาจุดเสีย และปัญหาต่างๆ
1. SAR
ภายใต้การทำงานของ SAR Utility ซึ่งมากับระบบปฏิบัติการ ท่านจะสามารถ
- เฝ้าดูประสิทธิภาพการทำงานของ CPU หน่วยความจำ อุปกรณ์ I/O ต่างๆ)
- รวบรวมข้อมูลข่าวสารเกี่ยวกับประสิทธิภาพการทำงานของอุปกรณ์ และระบบในลักษณะเรียลไทม์ เพื่อที่จะนำมาวิเคราะห์หาสาเหตุ หรือที่มาของปัญหาการทำงาน
SAR เป็นส่วนหนึ่งของโปรแกรมแพ็กเกจที่มีชื่อเรียกว่า sysstat ต่อไปนี้เป็นข้อสรุปประสิทธิภาพ
การทำงานของ SAR
ภาพที่ 1 แสดงหน้าจอการทำงานของ SAR |
- รวบรวมปริมาณใช้งานของ CPU
- แสดงข้อมูลข่าวสารเกี่ยวกับสถิติการทำงานของ CPU แต่ละตัว
- ปริมาณการใช้งานหน่วยความจำ รวมทั้งจำนวนคงเหลือของหน่วยความจำ
- ปริมาณการใช้งานเนื้อที่ Swap และเนื้อที่คงเหลือ
- กิจกรรมของอุปกรณ์ I/O ต่างๆ
- สถิติการทำงานของระบบเครือข่าย
- รายงานเกี่ยวกับข้อมูลของ SAR ในห้วงเวลาหนึ่ง
ตัวอย่างต่อไปนี้ แสดงสถิติการทำงานของ CPU จำนวน 3 ครั้งโดยเว้นห้วงเวลา 1 วินาที และ option –b มีไว้เพื่อให้มีการรายงานสถิติการทำงานของ I/O
$ sar -b 1 3
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:56:28 PM tps rtps wtps bread/s bwrtn/s
01:56:29 PM 346.00 264.00 82.00 2208.00 768.00
01:56:30 PM 100.00 36.00 64.00 304.00 816.00
01:56:31 PM 282.83 32.32 250.51 258.59 2537.37
Average: 242.81 111.04 131.77 925.75 1369.90
2. Tcpdump
Tcpdump เป็นโปรแกรมประเภทวิเคราะห์ Packet บนเครือข่าย ด้วยโปรแกรมนี้ ท่านจะสามารถดักจับและวิเคราะห์ ดูปัญหาต่างๆ เช่น Packet Error รวมทั้งปัญหาการเชื่อมต่อ ปัญหาการติดต่อกับ Server ปัญหาประสิทธิภาพการทำงานของเครือข่าย ปัญหาระบบความปลอดภัย เป็นต้น คำสั่งต่อไปนี้เป็นตัวอย่างการ ดักจับ Packet และแสดงดูข้อมูลภายใน Packet ที่แสดงในลักษณะรหัส ASCII
$ tcpdump -A -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:34:50.913995 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 1457239478:1457239594(116) ack 1561461262 win 63652
E.....@.@..]..i...9...*.V...]...P....h....E...>{..U=...g.
......G..7\+KA....A...L.
14:34:51.423640 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 116:232(116) ack 1 win 63652
E.....@.@..\..i...9...*.V..*]...P....h....7......X..!....Im.S.g.u:*..O&....^#Ba...
E..(R.@.|.....9...i.*...]...V..*P..OWp........
ท่านสามารถใช้ Tcpdump เพื่อดักจับ Packet ภายใต้เงื่อนไขที่ท่านสามารถจัดตั้งขึ้นได้ ตัวอย่างเช่น ท่านสามารถเลือกที่จะดักจับ Packet ที่ทำงานภายใต้หมายเลข Port ต่างๆที่ท่านต้องการ หรือ Packet ที่มาจากโปรโตคอลโดยเฉพาะก็ได้ เช่นกัน
ตัวอย่างการดักจับ 2 Packet ด้วยคำสั่ง tcpdump -c
ปกติเมื่อเราเรียกใช้ Tcpdump แล้ว โปรแกรมจะมีการดับจับ Packet ไปเรื่อยๆ จนกว่าเราจะสั่งให้หยุด แต่เราก็ยังสามารถใช้คำสั่ง เพื่อดักจับ Packet ตามจำนวนที่ต้องการได้อีกด้วย คำสั่งต่อไปนี้ ใช้เพื่อดักจับ packet เพียง 2 รายการเท่านั้น
$ tcpdump -c 2 -i eth0
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:38:38.184913 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 1457255642:1457255758(116) ack 1561463966 win 63652
14:38:38.690919 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 116:232(116) ack 1 win 63652
2 packets captured
13 packets received by filter
0 packets dropped by kernel
แสดงข้อมูลใน Packet ในรูปแบบของ HEX และ ASCII ด้วยคำสั่ง tcpdump – XX
$tcpdump -XX -i eth0
18:52:54.859697 IP zz.domain.innetbcp.net.63897 > valh4.lell.net.ssh: . ack 232 win 16511
0x0000: 0050 569c 35a3 0019 bb1c 0c00 0800 4500 .PV.5.........E.
0x0010: 0028 042a 4000 7906 c89c 10b5 aaf6 0f9a .(.*@.y.........
0x0020: 69c4 f999 0016 57db 6e08 c712 ea2e 5010 i.....W.n.....P.
0x0030: 407f c976 0000 0000 0000 0000 @..v........
18:52:54.877713 IP 10.0.0.0 > all-systems.mcast.net: igmp query v3 [max resp time 1s]
0x0000: 0050 569c 35a3 0000 0000 0000 0800 4600 .PV.5.........F.
0x0010: 0024 0000 0000 0102 3ad3 0a00 0000 e000 .$......:.......
0x0020: 0001 9404 0000 1101 ebfe 0000 0000 0300 ................
0x0030: 0000 0000 0000 0000 0000 0000 ............
ดักจับ Packet แล้วเขียนเข้าไปใน File ด้วยคำสั่ง tcpdump -w
$ tcpdump -w 08232010.pcap -i eth0
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
32 packets captured
32 packets received by filter
0 packets dropped by kernel
-w เป็น option ที่ทำให้สามารถเขียนข้อมูลลงไปใน File ที่ท่านกำหนดไว้ โดย File นี้จะมีนามสกุลว่า .pcap ซึ่งท่านสามารถอ่านได้จากโปรแกรมวิเคราะห์เครือข่ายทั่วไป เช่น Ethereal หรือ Wireshark
อ่านข้อมูล Packet จาก File ด้วยคำสั่ง tcpdump –r
ท่านสามารถอ่านข้อมูลเกี่ยวกับ Packet ที่ได้ถูกบันทึกลงบน File ก่อนหน้านั้นด้วยคำสั่ง tcpdump –r ดังนี้
$tcpdump -tttt -r data.pcap
2010-08-22 21:35:26.571793 00:50:56:9c:69:38 (oui Unknown) > Broadcast, ethertype Unknown (0xcafe), length 74:
0x0000: 0200 000a ffff 0000 ffff 0c00 3c00 0000 ............<...
0x0010: 0000 0000 0100 0080 3e9e 2900 0000 0000 ........>.).....
0x0020: 0000 0000 ffff ffff ad00 996b 0600 0050 ...........k...P
0x0030: 569c 6938 0000 0000 8e07 0000 V.i8........
2010-08-22 21:35:26.571797 IP valh4.lell.net.ssh > zz.domain.innetbcp.net.50570: P 800464396:800464448(52) ack 203316566 win 71
2010-08-22 21:35:26.571800 IP valh4.lell.net.ssh > zz.domain.innetbcp.net.50570: P 52:168(116) ack 1 win 71
2010-08-22 21:35:26.584865 IP valh5.lell.net.ssh > 11.154.12.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADC
ดักจับ Packet เพื่อดูเฉพาะ IP Address เท่านั้นด้วยคำสั่ง tcpdump –n
ในบางครั้งท่านอาจต้องการดูร่องรอยการบุกรุกเครือข่าย หรือต้องการดูว่ามีใครบ้างที่เข้ามาใช้งานเครือข่าย รวมทั้งโปรโตคอลที่ใช้
$ tcpdump -n -i eth0
15:01:35.170763 IP 10.0.19.121.52497 > 11.154.12.121.ssh: P 105:157(52) ack 18060 win 16549
15:01:35.170776 IP 11.154.12.121.ssh > 10.0.19.121.52497: P 23988:24136(148) ack 157 win 113
15:01:35.170894 IP 11.154.12.121.ssh > 10.0.19.121.52497: P 24136:24380(244) ack 157 win 113
ดักจับ Packet เฉพาะโปรโตคอลที่ต้องการ
ท่านสามารถเลือกที่จะดักจับโปรโตคอลเฉพาะเจาะจงได้ เช่น fddi tr wlan ip arp ip6 rarp dcenet tcp และ udp เป็นต้น ตัวอย่างต่อไปนี้เป็นการดักจับ Packet ที่ทำงานภายใต้โปรโตคอล arp ที่วิ่งผ่าน eth0 interface (LAN Card แผ่นที่ 1)
$ tcpdump -i eth0 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
19:41:52.809642 arp who-has valh5.lell.net tell valh9.lell.net
19:41:52.863689 arp who-has 11.154.12.1 tell valh6.lell.net
19:41:53.024769 arp who-has 11.154.12.1 tell valh7.lell.net
ดักจับการสื่อสารระหว่างคอมพิวเตอร์ 2 เครื่อง
ท่านสามารถดักจับดูการสื่อสารระหว่างเครื่องคอมพิวเตอร์ ที่ใช้โปรโตคอล TCP
$tcpdump -w comm.pcap -i eth0 dst 16.181.170.246 and port 22
ดักจับ การไหลของ Packet บน Port เฉพาะเจาะจงโดยใช้ tcpdump port
หากท่านต้องการรู้เกี่ยวกับ Packet ที่ได้รับ ภายใต้การทำงานของ Port ต่างๆบนเครื่อง ท่านสามารถทำได้โดยใช้คำสั่ง ต่อไปนี้
$ tcpdump -i eth0 port 22
19:44:44.934459 IP valh4.lell.net.ssh > zz.domain.innetbcp.net.63897: P 18932:19096(164) ack 105 win 71
19:44:44.934533 IP valh4.lell.net.ssh > zz.domain.innetbcp.net.63897: P 19096:19260(164) ack 105 win 71
19:44:44.934612 IP valh4.lell.net.ssh > zz.domain.innetbcp.net.63897: P 19260:19424(16
3. Nagios
Nagios เป็นโซลูชั่น ที่ใช้เพื่อเฝ้าดูการทำงานของระบบต่างๆ โดยเป็นระบบ Open Source ภายใต้ Nagio ท่านสามารถรับรู้ถึงปัญหา Server ล่ม ด้วยข่าวสารแจ้งเตือนจากโปรแกรมนี้ โดยส่งมาที่ Sysadmin และหา Database เกิดล่ม ก็จะมีการส่งข่าวแจ้งอเตือนมาที่ผู้ดูแลระบบฐานข้อมูล นอกจากนี้ ท่านยังสามารถจัดตั้งระบบการแจ้งเตือน และระดับของการยอมรับก่อนที่จะมีการแจ้งเตือน เช่น การทำงานของ CPU จะต้องไม่เกิน 75% หากเกินก็ให้แจ้งเตือน หรือปริมาณใช้งานเนื้อที่ของ Disk partition สูงเกินกว่า 80% เป็นต้น เพื่อให้ Sysadmin ดำเนินการเพิ่มเนื้อที่ของ Disk ด้วยวิธีการต่างๆ ก่อนที่จะเกิดปัญหา
ภาพที่ 2 แสดงหน้าต่างการทำงานของ Nagios |
นอกจากนี้ Nagios ยังมี user interface ที่ดูดี ที่จะช่วยให้ท่านสามารถเฝ้าดูระบบโครงสร้างของไอที ได้ง่าย ต่อไปนี้เป็นประสิทธิภาพการทำงานของ Nagios
- สามารถตรวจสอบการทำงานของ Hardware ทุกชนิด
- ใช้ได้ดีกับ Linux และ Windows Server
- ใช้ได้ดีกับฐานข้อมูลต่างๆ เช่น Oracle MySQL PostgreSQL เป็นต้น
- Service ต่างๆที่ทำงานบน OS เช่น sendmail nis nfs ldap เป็นต้น
- Web Server
- Application เฉพาะกิจของท่าน
4. Iostat
Iostat เป็นโปรแกรมที่สามารถรายงานสถิติการทำงานของ CPU Disk I/O และ NFS หากท่านเรียกใช้คำสั่ง Iostat โดยไม่ใส่ Option จะมีการแสดงข่าวสารเกี่ยวกับปริมาณใช้งานของ CPU รวมทั้งสถิติการทำงานของ Disk I/O ซึ่งเกี่ยวข้องกับ partition ทั้งหมด ในระบบ ดังตัวอย่าง
$ iostat
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011
avg-cpu: %user %nice %system %iowait %steal %idle
5.68 0.00 0.52 2.03 0.00 91.76
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 194.72 1096.66 1598.70 2719068704 3963827344
sda1 178.20 773.45 1329.09 1917686794 3295354888
sda2 16.51 323.19 269.61 801326686 668472456
sdb 371.31 945.97 1073.33 2345452365 2661206408
sdb1 371.31 945.95 1073.33 2345396901 2661206408
sdc 408.03 207.05 972.42 513364213 2411023092
sdc1 408.03 207.03 972.42 513308749 2411023092
อย่างไรก็ตาม ในการทำงานปกติ Iostat ยังสามารถแสดงข่าวสารเกี่ยวกับ I/O สำหรับ Disk ทั้งหมดในระบบ เพื่อที่แสดงสถิติการทำงานของอุปกรณ์โดยเฉพาะเจาะจง (เช่น /dev/sda) ให้ใช้ Option –p ดังตัวอย่าง
ภาพที่ 3 แสดงหน้าจอรายงานของ iostat |
$ iostat -p sda
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011
avg-cpu: %user %nice %system %iowait %steal %idle
5.68 0.00 0.52 2.03 0.00 91.76
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 194.69 1096.51 1598.48 2719069928 3963829584
sda2 336.38 27.17 54.00 67365064 133905080
sda1 821.89 0.69 243.53 1720833 603892838
ภาพที่ 4 แสดงหน้าจอของ Mpstat |
5. Mpstat
Mpstat เป็นโปรแกรมที่ใช้เพื่อรายงานสถิติการทำงานของ CPU ต่อไปนี้เป็นตัวอย่างการใช้งาน Mpstat
Option –A มีไว้เพื่อแสดงข้อมูลข่าวสารทั้งหมด ซึ่งเทียบเท่ากับการใช้คำสั่ง mpstat –I ALL –u -P ALL
หากใช้ Option –p ALL ตัวโปรแกรมจะแสดง CPU แต่ละตัว (หรือ Core) พร้อมด้วยสถิติการทำงานออกมาให้เห็น
$ mpstat -P ALL
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db) 07/09/2011 _x86_64_ (4 CPU)
10:28:04 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
10:28:04 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.99
10:28:04 PM 0 0.01 0.00 0.01 0.01 0.00 0.00 0.00 0.00 99.98
10:28:04 PM 1 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 99.98
10:28:04 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10:28:04 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
6. Vmstat
vmstat เป็น Utility โปรแกรมที่ถูกนำมาใช้เพื่อแสดงรายงานเกี่ยวกับสถิติการทำงานของ Virtual memory ต่อไปนี้เป็นบางตัวอย่างของคำสั่ง vmstat โดยปกติ vmstat จะแสดงปริมาณใช้งานหน่วยความจำ (รวมทั้ง swap) ดังตัวอย่าง
$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 305416 260688 29160 2356920 2 2 4 1 0 0 6 1 92 2 0
เพื่อที่จะรัน vmstat ทุกๆ 2 วินาที จำนวน 10 ครั้ง และหยุดทำงานหลังครบ 10 ครั้ง สามารถใช้คำสั่งดังนี้
$ vmstat 2 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 537144 182736 6789320 0 0 0 0 1 1 0 0 100 0 0
0 0 0 37004 182736 6789320 0 0 0 0 50 32 0 0 100 0 0
..
ทั้ง iostat และ vmstat ต่างก็เป็นส่วนหนึ่งของ sar utility ดังนั้นท่านจะต้องติดตั้ง sysstat Package ให้เรียบร้อยเสียก่อน ที่ vmstat จะสามารถทำงานได้
7. คำสั่ง ps
Linux เป็นระบบปฏิบัติการแบบ Multitasking ดังนี้ จึงสามารถทำงานได้หลายชิ้นในเวลาเดียวกัน ท่านสามารถใช้คำสั่ง ps เพื่อตรวจสอบดุว่า ขณะนี้มี Process อะไรบ้างที่กำลังทำงานของเครื่องคอมพิวเตอร์ หรือระบบของท่าน
นอกจากนี้ PS ยังสามารถให้ข้อมูลเกี่ยวกับ Process ซึ่งจะช่วยให้ท่านสามารถพิสูจน์ทราบถึงประสิทธิภาพการทำงานรวมทั้ง ข้อบกพร่องที่เกิดขึ้นในระบบ ต่อไปนี้เป็นตัวอย่างของคำสั่ง ps
ท่านสามารถใช้ option เพื่อแสดง Process ที่เป็นของ User แต่ละคนได้ เมื่อท่านต้องการดู Process ของ User หลายๆคน ท่านสามารถคั่นชื่อด้วยเครื่องหมาย “ , “ ได้ ตัวอย่างต่อไปนี้เป็นการแสดง Process ที่มีอยู่ทั้งหมดของ User wwwrunในขณะนั้น หรือ postfix
$ ps -f -u wwwrun,postfix
UID PID PPID C STIME TTY TIME CMD
postfix 7457 7435 0 Mar09 ? 00:00:00 qmgr -l -t fifo -u
wwwrun 7495 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 7496 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 7497 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 7498 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 7499 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 10078 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 10082 7491 0 Mar09 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
postfix 15677 7435 0 22:23 ? 00:00:00 pickup -l -t fifo -u
ตัวอย่างข้างล่างนี้ เป็นการแสดง Process ID. และชุดคำสั่งที่ใช้ในลักษณะเรียงแบบลดหลั่นตามลำดับ ตัว option forest เป็น argument ที่ใช้จัดเรียงคำสั่ง ps ซึ่งจะแสดง ASCII ในลักษณะการแตกกิ่งก้านสาขาของต้นไม้ ในลักษณะนี้ จะทำให้ท่านสามารถ พิสูจน์แสดงว่าส่วนใดเป็น Parent Process และส่วนใดที่เป็น Child Process
ภาพที่ 5 แสดงหน้าจอคำสั่ง ps |
$ ps -e -o pid,args --forest
468 \_ sshd: root@pts/7>
514 | \_ -bash
17484 \_ sshd: root@pts/11>
17513 | \_ -bash
24004 | \_ vi ./790310__11117/journal
15513 \_ sshd: root@pts/1>
15522 | \_ -bash
4280 \_ sshd: root@pts/5>
4302 | \_ -bash
8. Free
Free เป็นคำสั่งที่ใช้แสดงข้อมูลข่าวสารเกี่ยวกับ หน่วยความจำ RAM รวมทั้ง Swap Memory ภายในระบบของท่าน
จากตัวอย่างต่อไปนี้ จำนวนหน่วยความจำในระบบของท่านคือ 1 GB และค่าที่แสดงผลในระบบของท่านคิดเป็นหน่วย KB
# free
total used free shared buffers cached
Mem: 1034624 1006696 27928 0 174136 615892
-/+ buffers/cache: 216668 817956
Swap: 2031608 0 2031608
ต่อไปนี้เป็นการแสดงจำนวนของหน่วยความจำทั้งหมดในระบบ รวมทั้งหน่วยความจำ RAM และ Swap
- Option m มีไว้เพื่อแสดงหน่วยความจำคิดเป็น MB
- Option t ใช้แสดงทุกบรรทัดที่มีอยู่ทั้งหมด ซึ่งเป็นผลรวมของหน่วยความจำ RAM และ ค่า Swap
- Option o มีไว้เพื่อซ่อนเร้น buffer/cache จากตัวอย่างข้างต้น
# free -mto
total used free shared buffers cached
Mem: 1010 983 27 0 170 601
Swap: 1983 0 1983
Total: 2994 983 2011
ภาพที่ 6 แสดงหน้าจอ หลังจากใช้คำสั่ง Free |
9. Top
คำสั่ง Top มีไว้เพื่อแสดง Process ที่กำลังทำงานอยู่ทั้งหมดในระบบ โดยเรียงตัวเป็นคอลัมน์ และแสดงข้อมูลแบบเรียลไทม์
ท่านสามารถ Kill Process โดยที่ไม่ต้องออกจาก top ก็ได้ เมื่อท่านเลือก Process ที่ต้องการจะ kill แล้ว เพียงกดแป้น “k” ระบบจะถามท่านว่า Process ID. และ Signal ที่จะจัดส่งออกไป หากท่านมีสิทธิ์ที่จะ Kill Process แล้ว โปรแกรม top จะยอมให้ท่าน kill ได้สำเร็จ
PID to kill: 1309
Kill PID 1309 with signal [15]:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent
1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
5136 root 16 0 38040 14m 9836 S 0 0.2 0:00.39 nautilus
ท่านสามารถใช้ top –u เพื่อแสดง Process ของ User โดยเฉพาะเจาะจง ดังตัวอย่าง
$ top -u geek
ในขณะที่คำสั่ง top กำลังถูกใช้งาน ให้ท่านกดแป้น “u” ซึ่งโปรแกรมจะถามชื่อ User
Which user (blank for all): geek
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent
1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
ภาพที่ 7 แสดงหน้าจอจากคำสั่ง top |
10. Pmap
คำสั่ง pmap มีไว้เพื่อแสดง memory map ของแต่ละ Process ท่านจะต้องใส่ Process ID เป็น argument หลังคำสั่ง pmap
ต่อไปนี้เป็นคำสั่งที่ใช้เพื่อแสดง Memory map ของ bash shell ที่ใช้ในปัจจุบัน จากตัวอย่างนี้ เราใช้ Process ID. 5732 สำหรับ bash shell
$ pmap 5732
5732: -bash
00393000 104K r-x-- /lib/ld-2.5.so
003b1000 1272K r-x-- /lib/libc-2.5.so
00520000 8K r-x-- /lib/libdl-2.5.so
0053f000 12K r-x-- /lib/libtermcap.so.2.0.8
0084d000 76K r-x-- /lib/libnsl-2.5.so
00c57000 32K r-x-- /lib/libnss_nis-2.5.so
00c8d000 36K r-x-- /lib/libnss_files-2.5.so
b7d6c000 2048K r---- /usr/lib/locale/locale-archive
bfd10000 84K rw--- [ stack ]
total 4796K
ต่อไปนี้ เป็นคำสั่ง pmap -x ที่จะช่วยเพิ่มการแสดงของข้อมูลเกี่ยวกับ Memory Map ในระบบ
$ pmap -x 5732
5732: -bash
Address Kbytes RSS Anon Locked Mode Mapping
00393000 104 - - - r-x-- ld-2.5.so
003b1000 1272 - - - r-x-- libc-2.5.so
00520000 8 - - - r-x-- libdl-2.5.so
0053f000 12 - - - r-x-- libtermcap.so.2.0.8
0084d000 76 - - - r-x-- libnsl-2.5.so
00c57000 32 - - - r-x-- libnss_nis-2.5.so
00c8d000 36 - - - r-x-- libnss_files-2.5.so
b7d6c000 2048 - - - r---- locale-archive
bfd10000 84 - - - rw--- [ stack ]
-------- ------- ------- ------- -------
total kB 4796 - - -
เพื่อที่จะแสดงผลเกี่ยวกับข่าวสารของอุปกรณ์ต่างๆ ให้ใช้ ‘pmap -d pid’
ภาพที่ 8 แสดงตัวอย่างหน้าจอคำสั่ง pmap |
11. Netstat
Netstat เป็นคำสั่งที่เรานำมาใช้เพื่อแสดงข้อมูลข่าวสารเกี่ยวกับการทำงานบนเครือข่าย เช่น การเชื่อมต่อบนเครือข่าย ตารางเราติ้ง สถิติการเชื่อมต่อ Interface การเชื่อมต่อแบบ NAT รวมทั้งสมาชิกของระบบ Multicast เป็นต้น ต่อไปนี้เป็นการใช้คำสั่ง netstat
ภาพที่ 9 แสดงหน้าจอคำสั่ง netstat –an |
ภาพที่ 10 แสดงหน้าจอ netstat –b 2 |
ภาพที่ 10 แสดงการใช้ netstat –b 2 เพื่อแสดงให้เห็น Application ที่เปิดใช้งานในเครื่องรวมทั้งหมายเลข Port ที่เกี่ยวข้อง คำสั่ง netstat –a | more มีไว้เพื่อแสดงรายการของ Port ที่เปิดใช้อยู่ในขณะนี้ทั้งหมด
# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:30037 *:* LISTEN
udp 0 0 *:bootpc *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket
ต่อไปนี้เป็นคำสั่ง netstat ที่ใช้เพื่อค้นหาดูว่า Port ใดที่โปรแกรมหรือ Application กำลังถูกใช้งานในขณะนั้น
# netstat -ap | grep ssh
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 1 0 dev-db:ssh 101.174.100.22:39213 CLOSE_WAIT -
tcp 1 0 dev-db:ssh 101.174.100.22:57643 CLOSE_WAIT -
ใช้คำสั่ง netstat เพื่อค้นหาว่า Process ใดกำลังใช้งานหมายเลข Port อะไร
# netstat -an | grep ':80'
12. IPTraf
IPTraf เป็น Software ที่มีไว้สำหรับเฝ้าดูการทำงานของระบบเครือข่าย ต่อไปนี้เป็นคุณลักษณะการทำงานของ IPTraf
ภาพที่ 11 ใช้ IPTraf เพื่อตรวจสอบดู Packet ที่ทำงานภายใต้ปรโตคอลต่างๆ |
ภาพที่ 12ใช้ IPTraf เพื่อตรวจสอบการทำงานของ Host บนเครือข่าย |
- เป็น Utility ที่ทำงานบนพื้นฐานของ Text
- ใช้แสดง IP traffic บนเครือข่าย โดยสามารถแสดงสถานะ (Flag) จำนวน packet และขนาดของไบต์ รวมทั้งสามารถตรวจสอบ Packet ที่ทำงานภายใต้ โปรโตคอลต่างๆ เช่น IP TCP UDP ICMP เป็นต้น
- สามารถแสดงสถิติการทำงานของ Interface (รวมทั้ง IP TCP UDP ICMP โดยสามารถแสดงขนาดคิดเป็นไบต์ รวมทั้ง Checksum Error เป็นต้น)
- สามารถตรวจสอบพบการทำงานของ Host คอมพิวเตอร์บนเครือข่ายโดยอัตโนมัติ
- สามารถติดตั้ง Filter เพื่อคัดกรองโปรโตคอล หรือ Packet ที่ต้องการจะตรวจสอบได้
- มีระบบจัดเก็บ log
- สนับสนุนการทำงานของ Ethernet FDDI ISDN SLIP PPP และ loopback
- สามารถรันในโหมด Full Screen
13. Strace
Strace ถูกนำมาใช้เพื่อ debugging และตรวจสอบหาจุดเสียการทำงานของ Linux โดยจะมีการแสดง System call ที่ถูกเรียกใช้โดย Process ต่างๆ รวมทั้ง Signal ที่ที่ได้รับมาโดย Process
Strace สามารถเฝ้าดูการทำงานของ System Call และ Signal ของ Program เฉพาะอย่างได้ และมีประโยชน์ในกรณีที่ท่านต้องการจะตรวจสอบดูปัญหาการใช้งานของโปรแกรม โดยไม่มี Source Code อยู่ในมือ และ Strace จะทำให้ท่านสามารถ เอ็กซิคิ้ว คำสั่งในโปรแกรมได้ตามลำดับตั้งแต่ต้นจนจบ
$ strace ls
execve("/bin/ls", ["ls"], [/* 21 vars */]) = 0
brk(0) = 0x8c31000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb78c7000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=65354, ...}) = 0
เพื่อที่จะแสดงเฉพาะ System Call เท่านั้น ท่านสามารถใช้คำสั่ง strace -e option ดังตัวอย่าง
$ strace -e open ls
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/libselinux.so.1", O_RDONLY) = 3
open("/lib/librt.so.1", O_RDONLY) = 3
open("/lib/libacl.so.1", O_RDONLY) = 3
open("/lib/libc.so.6", O_RDONLY) = 3
open("/lib/libdl.so.2", O_RDONLY) = 3
open("/lib/libpthread.so.0", O_RDONLY) = 3
open("/lib/libattr.so.1", O_RDONLY) = 3
open("/proc/filesystems", O_RDONLY|O_LARGEFILE) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
14. Lsof
Lsof มาจากคำว่า ls open files ซึ่งจะแสดงรายการของ File ที่กำลังเปิดอยู่ในระบบในขณะนั้น โดย File ที่เปิดอยู่นี้ครอบคลุมไปถึง การเชื่อมต่อเครือข่าย อุปกรณ์ และ Directory และค่าแสดงผลที่ปรากฏบนหน้าจอ จะประกอบด้วยคอลัมน์ต่างๆดังนี้
COMMAND process name.
PID process ID
USER Username
FD file descriptor
TYPE node type of the file
DEVICE device number
SIZE file size
NODE node number
NAME full path of the file name.
เพื่อที่จะแสดงดูรายการของ File ที่กำลังเปิดอยู่ ให้รันคำสั่ง lsof โดยไม่ต้องใช้พารามิเตอร์ใดๆ ดังตัวอย่างต่อไปนี้
# lsof | more
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
Init 1 root cwd DIR 8,1 4096 2 /
init 1 root rtd DIR 8,1 4096 2 /
init 1 root txt REG 8,1 32684 983101 /sbin/init
init 1 root mem REG 8,1 106397 166798 /lib/ld-2.3.4.so
init 1 root mem REG 8,1 1454802 166799 /lib/tls/libc-2.3.4.so
init 1 root mem REG 8,1 53736 163964 /lib/libsepol.so.1
init 1 root mem REG 8,1 56328 166811 /lib/libselinux.so.1
init 1 root 10u FIFO 0,13 972 /dev/initctl
migration 2 root cwd DIR 8,1 4096 2 /
skipped..
เพื่อที่ต้องการตรวจดู User เฉพาะเจาะจงที่กำลังเปิดดู Files ท่านสามารถใช้ lsof –u เป็น option ที่ใช้เรียกดู Files ที่กำลังเปิดอยู่
# lsof -u somchai
vi 7190 somchai txt REG 8,1 474608 475196 /bin/vi
sshd 7163 somchai 3u IPv6 15088263 TCP dev-db:ssh->abc-12-12-12-12.
และหากต้องการดู File เฉพาะของ User บางคน ท่านสามารถใช้คำสั่ง ดังนี้ จากตัวอย่างนี้ เป็นการแสดง User ทั้งหมดที่มีอยู่ในปัจจุบันด้วย option
# lsof /bin/vi
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
vi 7258 root txt REG 8,1 474608 475196 /bin/vi
vi 7300 ramesh txt REG 8,1 474608 475196 /bin/vi
15. Ntop
Ntop มีความคล้ายคลึงกับ top แต่เน้นที่ network traffic โดย ntop เป็นโปรแกรม monitor ดูการทำงานของ Traffic บนเครือข่าย ท่านสามารถเข้าไปใช้งาน ntop ผ่านทาง Browser เพื่อที่จะให้ได้ข่าวสารเกี่ยวกับ Traffic และสถานะ การทำงาน รวมทั้งปริมาณใช้งานของเครือข่ายได้ ntop มีขีดความสามารถหลักๆ ดังนี้
- แสดงสถานะ การทำงานของโปรโตคอลและปริมาณ traffic ของมัน
- สามารถจัดเรียงค่าแสดงผล
- สามารถแสดงสถิติและปริมาณของ traffic บนเครือข่ายได้
- มีขีดความสามารถที่จะจัดเก็บสถิติของ traffic ได้โดยใช้ RRD
- สามารถพิสูจน์แสดง User และพิสูจน์ทราบถึงการใช้ OS ของแต่ละ Host ได้
- สามารถแสดงและวิเคราะห์ IT Traffic ได้
- สามารถทำงานเป็น NetFlow/sFlow เพื่อรวบรวมข้อมูลให้กับ Router และ Switches ได้
- สามารถแสดงสถิติการทำงานของเครือข่ายคล้ายกับ RMON
- สามารถทำงานบนเครื่อง Linux MacOS และ Windows ได้
ภาพที่ 13 แสดงหน้าจอของ ntop |
16. GkrellM
GkrellM มาจากคำว่า GNU krell Monitors หรือ GTK Krell Meters เป็นโปรแกรมประเภท GTK+ Toolkit เพื่อใช้ Monitor ดู ทรัพยากรของระบบได้หลายแบบ เช่นเดียวกับโปรแกรมประเภท Monitoring อื่นๆ GkrellM สามารถ Monitor ดูการทำงานของ CPU หน่วยความจำ ระบบ File ปริมาณการใช้งานเครือข่าย และหากมีการเพิ่ม plug-in เข้าไปก็จะสามารถ Monitor ดู Application ภายนอกได้
ภาพที่ 14 แสดงหน้าจอ GKrellM |
17. w กับ uptime
ขณะที่ท่านกำลังเฝ้ามองดูประสิทธิภาพการทำงานของระบบ คำสั่ง w จะช่วยให้ท่านรู้ว่าใครที่กำลัง Logon เข้ามาที่ระบบ
$ w
09:35:06 up 21 days, 23:28, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 :0 24Oct11 21days 1:05 1:05 /usr/bin/Xorg :0 -nr -verbose
ramesh pts/0 192.168.1.10 Mon14 0.00s 15.55s 0.26s sshd: localuser [priv]
john pts/0 192.168.1.11 Mon07 0.00s 19.05s 0.20s sshd: localuser [priv]
jason pts/0 192.168.1.12 Mon07 0.00s 21.15s 0.16s sshd: localuser [priv]
สำหรับรายละเอียดของ User ที่ Logon เข้ามา จะมีการแสดงรายละเอียดดังนี้
- ชื่อของผู้เข้ามาใช้งาน
- ข้อมูลเกี่ยวกับ terminal หรือ tty
- IP Address ของเครื่องที่ logon เข้ามา
- ช่วงเวลา Logon เข้ามาที่ระบบ
- นานเท่าใดที่ User นั้น Logon เข้ามา
- คำสั่งของ Process ในปัจจุบันที่ User กำลังใช้งานอยู่
- JCPU และ PCUP
บรรทัดที่ 1 ที่เป็น Output ของคำสั่ง w จะเห็นว่ามีความคล้ายคลึงกับ uptime โดยมีการแสดง
ข้อมูลดังต่อไปนี้
- เวลาปัจจุบัน
- นานเท่าใดที่ระบบเปิดทำงาน
- จำนวนของ User ทั้งหมดที่กำลัง logon เข้ามาในระบบ
- ปริมาณ load ในช่วงเวลา 1 5 และ 15 นาทีที่ผ่านมา
หากท่านต้องการแสดงข้อมูลเกี่ยวกับ Uptime เท่านั้น ใช้คำสั่ง uptime
$ uptime
09:35:02 up 106 days, 28 min, 2 users, load average: 0.08, 0.11, 0.05
โปรดสังเกตว่า ทั้งคำสั่ง w และ uptime จะได้รับข้อมูลข่าวสารมาจาก /var/run/utmp
18. /proc
/proc เป็นระบบ Virtual File ตัวอย่างเช่น หากท่านใช้ ls-l /proc/stat ท่านจะเห็นว่า มีขนาด 0 ไบต์ แต่หาก ท่านใช้ “cat /proc/stat” ท่านจะเห็นเนื้อหาภายในแฟ้มข้อมูลนี้
เมื่อท่านใช้คำสั่ง ls-l /proc ท่านจะเห็น Directory เป็นจำนวนมากเป็นตัวเลข เกี่ยวกับ process ID.
ภาพที่ 15 แสดงหน้าจอ จากคำสั่ง uptime |
19. KDE System guard
บางทีเราเรียกว่า KSysGuard บน Linux Desktop ที่รัน KDE ท่านสามารถใช้เครื่องมือนี้เพื่อเฝ้าดูทรัพยากรของระบบ นอกเหนือจากการเฝ้าดูระบบภายในแล้ว ยังสามารถดูระบบที่อยู่ไกลออกไปได้ด้วย
ถ้าหากว่าท่านรัน KDE บน Desktop ท่านสามารถเรียกดูได้ดังนี้ ไปที่ Application - > system Monitor - > ท่านสามารถรัน kSysGuard ได้จากที่นี่ นอกจากนี้ท่านยังสามารถเรียกจาก Command line ก็ได้เช่นกัน
เครื่องมือนี้จะแสดงข่าวสารบน 2 Tab
- Process table – แสดง Process ที่กำลังทำงานอยู่ โดยท่านสามารถจัดเรียง ดำเนินการ kill หรือเปลี่ยนลำดับความสำคัญ ของ Process จากที่นี่
- System Load – สามารถแสดงผลการทำงานของ CPU หน่วยความจำ และปริมาณการใช้งานของระบบเครือข่าย ในรูปแบบของกราฟ โดยท่านสามารถปรับแต่งคุณลักาณะของกราฟ โดยการ คลิ๊กขวาบนกราฟ
ภาพที่ 16 แสดงลักษณะหน้าจอของ KDE System Guard |
20. GNOME System Monitor
บน Linux ที่รัน GNOME ท่านสามารถใช้เครื่องมือนี้เพื่อ Monitor หรือเฝ้าดูการทำงานของ Process รวมทั้งทรัพยากรของระบบ ตลอดจนระบบ Files ต่างๆได้ โดยนอกเหนือจากการเฝ้ามองแล้ว ท่านยังสามารถใช้ Tool นี้เพื่อ Kill Process รวมทั้งเปลี่ยนลำดับความสำคัญของ Process ได้อีกด้วย
หากท่านกำลังรันอยู่บน GNOME ท่านสามารถเรียกโปรแกรมได้ดังนี้ ไปที่ System - > Administration - > System Monitor ซึ่งจะทำให้มีการเรียกโปรแกรมนี้ออกมาได้ นอกจากนี้ท่านยังสามารถใช้คำสั่ง gnome-system-monitor จาก Command Line ได้
ภาพที่ 17 แสดงลักษณะหน้าจอของ Conky |
21. Conky
Conky เป็นเครื่องมือที่ใช้เพื่อเฝ้าดูการทำงานของระบบ หรือ X. โดย Conky สามารถแสดงข้อมูลข่าวสารในรูปแบบ User Interface โดยใช้วิธีที่เราเรียกว่า Objects ซึ่งโดยดีฟอลด์ มี Object อยู่ 250 Object ซึ่งมากับ Conky โดยจะมีการแสดงข้อมูลข่าวสารมากมาย เกี่ยวกับ CPU หน่วยความจำ ระบบเครือข่าย ระบบ Disk เป็นต้น โปรแกรมนี้สนับสนุน IMAP POP3 และ เครื่องเล่น Audio ต่างๆ หลายรายการ
ท่านยังสามารถเฝ้าดูและแสดงผลเกี่ยวกับ Application ที่อยู่ภายนอกได้โดยการสร้าง Scripts สำหรับ Object และข่าวสารที่แสดงออกมาโดย Conky มีรูปแบบหลายอย่าง เช่น Text หรือ Graphics หรือ Progress bar เป็นต้น
22. Cacti
Cacti เป็น User Interface Front –End ทำงานบนพื้นฐานของ PHP ออกแบบมาสำหรับ RRDTool โดย Cacti สามารถจัดเก็บข้อมูล ที่ต้องการเพื่อสร้างกราฟในฐานข้อมูล MySQL
ต่อไปนี้เป็นคุณลักษณะการทำงานของ Cacti
- สามารถรวบรวมข้อมูลข่าวสารและจัดเก็บเข้าไปในฐานข้อมูล SQL
- มีขีดความสามารถในการแสดงกราฟที่หลากหลาย
- สามารถรวบรวมข่าวสารจากระบบภายใน และระบบที่อยู่ห่างไกลออกไป
- ผู้ใช้งานสามารถกำหนด Scripts ได้ด้วยตัวท่านเอง
- สนับสนุน SNMP เพื่อรวบรวมข่าวสารการทำงานของอุปกรณ์และระบบ
- มีกราฟ Template ที่มีความยืดหยุ่นสูง
- สามารถสร้างผู้มีสิทธิ์เข้าไปใช้ Front End ได้
ภาพที่ 18 แสดงลักษณะหน้าจอของ Cacti |
23. Vnstat
เป็น Utility ที่ทำงานบน Command line โดยสามารถแสดงและจัดเก็บ Traffic ของเครือข่าย ของ Interface บนระบบของท่าน ซึ่งขึ้นอยู่กับข้อมูลสถิติของเครือข่ายที่ Kernel เป็นผู้จัดให้ ดังนั้น Vnstat ไม่จำเป็นต้องเพิ่มภาระการทำงานให้กับระบบของท่านขณะที่กำลังเฝ้าดูการทำงานของระบบ
หากท่านใช้คำสั่ง vnstat โดยไม่ใส่ Argument เข้าไป จะทำให้มีการแสดงข่าวสารแบบสรุปผล ดังนี้
- ช่วงเวลาสุดท้ายที่ ฐานข้อมูล vnstat อยู่ใน /var/lib/vnstat/ ได้รับการ update
- จากที่เริ่มรวบรวมและจัดเก็บสถิติการทำงานของ Interface
- ข้อมูลสถิติการทำงานของระบบเครือข่าย (จำนวนของไบต์ที่จัดส่ง จำนวนของไบต์ที่ได้รับเข้ามา) ในช่วงเวลา 2 เดือน หรือ 2 วันที่ผ่านมา
# vnstat
Database updated: Sat Oct 15 11:54:00 2011
eth0 since 10/01/11
rx: 12.89 MiB tx: 6.94 MiB total: 19.82 MiB
monthly
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Sep '11 12.90 MiB | 6.90 MiB | 19.81 MiB | 0.14 kbit/s
Oct '11 12.89 MiB | 6.94 MiB | 19.82 MiB | 0.15 kbit/s
------------------------+-------------+-------------+---------------
estimated 29 MiB | 14 MiB | 43 MiB |
daily
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
yesterday 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s
today 2.03 MiB | 1.07 MiB | 3.10 MiB | 0.59 kbit/s
------------------------+-------------+-------------+---------------
estimated 4 MiB | 2 MiB | 6 MiB |
ใช้ “vnstat -t” หรือ “vnstat –top10″ เพื่อแสดงผล traffic ในรอบ 10 วัน
$ vnstat --top10
eth0 / top 10
# day rx | tx | total | avg. rate
-----------------------------+-------------+-------------+---------------
1 10/12/11 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s
2 10/11/11 4.07 MiB | 2.17 MiB | 6.24 MiB | 0.59 kbit/s
3 10/10/11 2.48 MiB | 1.28 MiB | 3.76 MiB | 0.36 kbit/s
....
-----------------------------+-------------+-------------+---------------
24. Socket Statistics – SS
Ss มาจากคำว่า socket statistics โดยจะมีการแสดงข้อมูลข่าวสารที่คล้ายคลึงกับคำสั่ง netstat เพื่อที่จะแสดง Sockets ที่เปิดรับฟังอยู่ (เปิดรับการร้องขอเข้ามาใช้บริการ) สามารถใช้คำสั่ง ss –l ดังนี้
$ ss -l
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 100 :::8009 :::*
0 128 :::sunrpc :::*
0 100 :::webcache :::*
0 128 :::ssh :::*
0 64 :::nrpe :::*
ต่อไปนี้เป็นคำสั่งที่ใช้แสดงการเชื่อมต่อที่มีการจัดตั้ง (Established) เรียบร้อยแล้ว
$ ss -o state established
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 52 192.168.1.10:ssh 192.168.2.11:55969 timer:(on,414ms,0)
ต่อไปนี้ เป็นการแสดงสถิติการทำงานในลักษณะ สรุป โดยมีการแสดงผลรวมทั้งหมดของ Socket ในลักษณะของชนิดต่างๆ
$ ss -s
Total: 688 (kernel 721)
TCP: 16 (estab 1, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 11
Transport Total IP IPv6
* 721 - -
RAW 0 0 0
UDP 13 10 3
TCP 16 7 9
INET 29 17 12
FRAG 0 0 0
Linux เป็นระบบปฏิบัติการที่มีเครื่องมือตรวจสอบการทำงานของระบบไม่แพ้ Windows แต่มีความเสถียรมาก เหมาะสำหรับท่านที่ต้องการตรวจสอบประสิทธิภาพการทำงานของระบบ