linux分析、診斷及調優的必備“殺器”
1、toptop - 02:06:59 up 4 days, 17:14, 2 users, load average: 0.00, 0.00, 0.00Tasks: 62 total, 1 running, 61 sleeping, 0 stopped, 0 zombieCpu(s): 0.2% us, 0.3% sy, 0.0% ni, 97.8% id, 1.7% wa, 0.0% hi, 0.0% siMem: 515144k total, 317624k used, 197520k free, 66068k buffersSwap: 1048120k total, 12k used, 1048108k free, 179632k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND13737 root 17 0 1760 896 1540 R 0.7 0.2 0:00.05 top238 root 5 -10 0 0 0 S 0.3 0.0 0:01.56 reiserfs/01 root 16 0 588 240 444 S 0.0 0.0 0:05.70 init2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/03 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/04 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/15 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/16 root 5 -10 0 0 0 S 0.0 0.0 0:00.02 events/0 輸出資料行說明:PID:Process identification.USER:Name of the user who owns (and perhaps started) the process.PRI:Priority of the process. (See 1.1.4, “Process priority and nice level” on page 5 for details.)SIZE:Amount of memory (code+data+stack) used by the process in kilobytes.RSS:Amount of physical RAM used, in kilobytes.SHARE:Amount of memory shared with other processes, in kilobytes.STAT:State of the process: S=sleeping, R=running, T=stopped or traced,D=interruptible sleep, Z=zombie. %CPU:Share of the CPU usage (since the last screen update).%MEM:Share of physical memory.TIME:Total CPU time used by the process (since it was started).COMMAND:Command line used to start the task (including parameters). 有用的熱鍵:t :Displays summary information off and on.m :Displays memory information off and on.A :Sorts the display by top consumers of various system resources. Useful for quick identification of performance-hungry tasks on a system.f :Enters an interactive configuration screen for top. Helpful for setting up top for a specific task.o :Enables you to interactively select the ordering within top.r :Issues renice command.k :Issues kill command.O or F:enters an interactive configuration screen for processes order.h:displays help screen.2、vmstatprocs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----r b swpd free buff cache si so bi bo in cs us sy id wa0 1 0 1742264 112116 1999864 0 0 1 4 3 3 0 0 99 00 1 0 1742072 112208 1999772 0 0 0 2536 1258 1146 0 1 75 240 1 0 1741880 112260 1999720 0 0 0 2668 1235 1002 0 1 75 240 1 0 1741560 112308 1999932 0 0 0 2930 1240 1015 0 1 75 241 1 0 1741304 112344 2000416 0 0 0 2980 1238 925 0 1 75 240 1 0 1741176 112384 2000636 0 0 0 2968 1233 929 0 1 75 240 1 0 1741304 112420 2000600 0 0 0 3024 1247 925 0 1 75 24 輸出資料行說明:Process (procs) r:The number of processes waiting for runtime b: The number of processes in uninterruptable sleepMemory swpd: The amount of virtual memory used (KB) free: The amount of idle memory (KB) buff: The amount of memory used as buffers (KB) cache: The amount of memory used as cache (KB)Swap si: Amount of memory swapped from the disk (KBps) so: Amount of memory swapped to the disk (KBps)IO bi: Blocks sent to a block device (blocks/s) bo: Blocks received from a block device (blocks/s)System in: The number of interrupts per second, including the clock cs: The number of context switches per secondCPU (% of total CPU time) us: Time spent running non-kernel code (user time, including nice time). sy: Time spent running kernel code (system time). id: Time spent idle. Prior to Linux 2.5.41, this included I/O-wait time. wa: Time spent waiting for IO. Prior to Linux 2.5.41, this appeared as zero. 有用的命令列參數:-m:displays the memory utilization of the kernel (slabs)-a:provides information about active and inactive memory pages-n:displays only one header line, useful if running vmstat in sampling mode and piping the output to a file. (For example, root#vmstat –n 2 10 generates vmstat 10 times with a sampling rate of two seconds.)When used with the –p {partition} flag, vmstat also provides I/O statistics.3、uptime10:12:37 up 244 days, 26 min, 1 user, load average: 10.92, 23.68, 23.64說明:The uptime command can be used to see how long the server has been running and how many users are logged on, as well as for a quick overview of the average load of the server.The system load average is displayed for the past 1minute, 5 minute, and 15 minute intervals.4、ps有用的命令選項:-e:All processes. Identical to -A-l:Show long format-F:Extra full mode-H:Forest-L:Show threads, possibly with LWP and NLWP columns-m:Show threads after processesroot# ps -elFLF S UID PID PPID LWP C NLWP PRI NI ADDR SZ WCHAN RSS PSR STIME TTY TIME CMD4 S root 1 0 1 0 1 76 0 - 457 - 552 0 Mar08 ? 00:00:01 init [3]1 S root 2 1 2 0 1 -40 - - 0 migrat 0 0 Mar08 ? 00:00:36 [migration/0]1 S root 3 1 3 0 1 94 19 - 0 ksofti 0 0 Mar08 ? 00:00:00 [ksoftirqd/0]root# ps -eLF| grep -E "LWP|/usr/sbin/httpd"UID PID PPID LWP C NLWP SZ RSS PSR STIME TTY TIME CMDroot 4504 1 4504 0 1 4313 8600 2 08:33 ? 00:00:00 /usr/sbin/httpdapache 4507 4504 4507 0 1 4313 4236 1 08:33 ? 00:00:00 /usr/sbin/httpdapache 4508 4504 4508 0 1 4313 4228 1 08:33 ? 00:00:00 /usr/sbin/httpd輸出資料行說明:F:Process flagS:State of the process: S=sleeping, R=running, T=stopped or traced,D=interruptable sleep, Z=zombie. UID:Name of the user who owns (and perhaps started) the process.PID:Process ID numberPPID:Parent process ID numberLWP:LWP(light weight process, or thread) ID of the lwp being reported.C:Integer value of the processor utilization percentage.(CPU usage)NLWP:Number of lwps (threads) in the process. (alias thcount).PRI:Priority of the process. NI:Niceness level (whether the process tries to be nice by adjusting the priority by the number given; see below for details).ADDR:Process Address space (not displayed)SZ:Amount of memory (code+data+stack) used by the process in kilobytes.WCHAN:Name of the kernel function in which the process is sleeping, a “-” if the process is running, or a “*” if the process is multi-threaded and ps is not displaying threads.RSS:Resident set size, the non-swapped physical memory that a task has used (in kiloBytes).PSR:Processor that process is currently assigned to.STIME:Time the command started.TTY:TerminalTIME:Total CPU time used by the process (since it was started).CMD:Command line used to start the task (including parameters).5、free有用的命令參數:-b, -k, -m, -g:Display values in bytes, kilobytes, megabytes, and gigabytes-l:Distinguishes between low and high memory -c <count>:Displays the free output <count> number of times[root@edam ~]# free -l total used free shared buffers cachedMem: 4154484 2381500 1772984 0 108256 1974344Low: 877828 199436 678392High: 3276656 2182064 1094592-/+ buffers/cache: 298900 3855584Swap: 4194296 0 4194296