analyzing the performance of Linux can help us solve application problems, adjust system architecture, and optimize products. First look at the Linux system architecture
The system call above is the user domain, the following is the kernel domain.
The basic performance monitoring tools on Linux are as follows: 1) Top or htop, read cpu,dram,virtual memory information, be able to observe the status of each process, mainly CPU Usage 2) Iostat read Disk,io controller, block device, Observe disk's IO statistics 3) mpstat read CPU information, observe those active thread information 4) vmstat read virtual memory, scheduler, system call and CPU, observe the statistics of virtual memory, dstat similar to the screen output more than a point color 5) Free Read DRAM and virtual memory to see how memory is being used
Further, the Linux performance monitoring Tool also includes: 1) SAR activity such as paging read/write, block device statistics, running queue statistics, while covering the functions of vmstat,iostat, etc. 2) Netstat statistics of various network protocols 3) Pidstat Observe the process failure 4) Strace tracking system calls and resources 5) tcpdump monitoring network packets, and provide file output, a total of wireshark do further analysis 6) BLKTRACE statistics block device IO event 7) iotop Observe the IO usage status of each process 8) Slabtop Observe the use of the slab allocator in the kernel 9) sysctl System kernel parameter Tuning tool ten)/proc Oh, you can read the source data directly
The more powerful Inux performance monitoring tool is my favorite performance indicator perf, it reads CPU, memory, IO bus, network control machine and other information, can observe an executable program performance indicators, sampling collection IO,CPU activity data, use, feel ...
Observe the performance of Linux