ส่วนใหญ่แล้ว LinuxAdmin มักต้องใช้ command บ่อยครั้งเพื่อวิเคราะห์ประสิทธิภาพเครื่องหรือแก้ปัญหาต่างๆ เช่น Disk(Storage), CPU, Memory, Network เป็นต้น ลองมาดูกันว่า มีคำสั่งอะไรบ้างที่ Linux Admin ไม่ควรลืม
บทความนี้ แปลจาก http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html
The top command provides several useful hot keys:
แหล่งข้อมูลเพิ่มเติมhttp://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html
$ vmstat
$ vmstat -m
$ vmstat -a
แหล่งข้อมูลเพิ่มเติมhttp://www.cyberciti.biz/tips/linux-resource-utilization-to-detect-system-bottlenecks.html
w command displays information about the users currently on the machine, and their processes.
$ w $ w klainfo
$ uptime
$ ps -Al
$ ps -AlF
$ ps -AlFH
$ ps -AlLm
$ ps ax $ ps axu
$ ps -ejH $ ps axjf $ pstree
$ ps -eo euser,ruser,suser,fuser,f,comm,label $ ps axZ $ ps -eM
$ ps -U vivek -u vivek u
$ ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm $ ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm $ ps -eopid,tt,user,fname,tmout,f,wchan
$ ps -C lighttpd -o pid=
$ pgrep lighttpd
$ pgrep -u vivek php-cgi
$ ps -p 55977 -o comm=
$ ps -auxf | sort -nr -k 4 | head -10
$ ps -auxf | sort -nr -k 3 | head -10
$ free
$ iostat
$ sar -n DEV | more
$ sar -n DEV -f /var/log/sa/sa24 | more
$ sar 4 5
The mpstat command displays activities for each available processor, processor 0 being the first one. mpstat -P ALL to display average CPU utilization per processor:
$ mpstat
The command pmap report memory map of a process. Use this command to find out causes of memory bottlenecks.
$ pmap -d PID
47394: /usr/bin/php-cgi Address Kbytes Mode Offset Device Mapping 0000000000400000 2584 r-x-- 0000000000000000 008:00002 php-cgi 0000000000886000 140 rw--- 0000000000286000 008:00002 php-cgi 00000000008a9000 52 rw--- 00000000008a9000 000:00000 [ anon ] 0000000000aa8000 76 rw--- 00000000002a8000 008:00002 php-cgi 000000000f678000 1980 rw--- 000000000f678000 000:00000 [ anon ] 000000314a600000 112 r-x-- 0000000000000000 008:00002 ld-2.5.so 000000314a81b000 4 r---- 000000000001b000 008:00002 ld-2.5.so 000000314a81c000 4 rw--- 000000000001c000 008:00002 ld-2.5.so 000000314aa00000 1328 r-x-- 0000000000000000 008:00002 libc-2.5.so 000000314ab4c000 2048 ----- 000000000014c000 008:00002 libc-2.5.so ..... ...... .. 00002af8d48fd000 4 rw--- 0000000000006000 008:00002 xsl.so 00002af8d490c000 40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so 00002af8d4916000 2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so 00002af8d4b15000 4 r---- 0000000000009000 008:00002 libnss_files-2.5.so 00002af8d4b16000 4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so 00002af8d4b17000 768000 rw-s- 0000000000000000 000:00009 zero (deleted) 00007fffc95fe000 84 rw--- 00007ffffffea000 000:00000 [ stack ] ffffffffff600000 8192 ----- 0000000000000000 000:00000 [ anon ] mapped: 933712K writeable/private: 4304K shared: 768000KThe last line is very important:
$ cat /proc/cpuinfo $ cat /proc/meminfo $ cat /proc/zoneinfo $ cat /proc/mounts
A few more tools: