????????sar -B??fault/s????????minflt??majflt????
?????????
???????????????????????????????????
????1.?????г??????????????ú?????????????memory caches(???:?????????)??disk caches????(???:??????????).
????2.??????????棬????????飬????ζ????????????Ч??.??????????д??swap device??disk.
????3.???????????棬swap device???????У?????ζ?????????????????????.
????zee??
???????????????????buff?????????棨Cache??????????治?????????????е???????棨free?????????????????????е??????????????????????檔
?????????????????棨swpd???????????????????????????潻????si??so????????????????????????????????????????????????潻?????????????
??????????????????????????????????????????????????????е??????????????????????????????
????ps:????java?????????????????heap dump?????mat????
?????????????
????iostat??IO???????? %util ??? ???????????I/O???????I/O????????????????????????????
??????????????iowait??????iowait ?????ζ??????????????????в??????svctm?????Ρ?
???????swap ??????????????virtual memory?????????I/O ?????.
????ps:??????????????pidstat -d ??λ????
????2.??????CPU????楨?????????
??????Щ?????????????????????????????
????1.??????????????????????????е?????????????????CPU???????д??????????????????
????2.????治????????????????(page)??????swap?????????????????IO??po??so?????????棬pi??si?????????????á???????????????????cpu??? (?????ù???)
????3.??????IO????????????????swap??????????????virtual memory?????????I/O ?????????????????????iowait ?????????CPU????????????????????IO?????CPU Bound???????????????????IO?????
????3.??????paging in / paging out ?
??????Linux???????У?????????“???Paging”??“????Swapping”??????????????????????????????н???????????滻??????????????汣????????й???????á????????????????????????????????棬????????????????
???????(Page)д??????????????Page-Out?????(Page)???????????????????????Page-In?????????????????????????????????????????(????????Page-Out??)?????????????????Page Fault????
?????????????????????????????????Page-Out????????????????檔????Page-Out????????????????????Page-out????????????????????????????????????г????????????Ч???????????????????????з????????????????????????????thrashing(???)??
???????????vmstat -s ?? paged in/out ????
????4.??μ????????????????????????????????????
????(????????????????????????????????????)
????CPU????top(??????)?? uptime(???ж?????)?? vmstat(???????л???)?? jprofile(???????cpu??????)
?????????:top?? free(??????)?? vmstat(page??swap????)?? pidstat -r??sar -B(page fault)?? jmap -heap(??dump)?? mat??jprofiler(??????)
???????????iostat(%util)?? top(iowait%)?? pidstat -d
???????????netstat(??????)?? nethogs(????)?? wireshark??tcpdump(???)
????JVM????jstat(gc)?? jmap(??dump)?? jstack(???dump)?? jprofiler??visualvm(????????)
????nmon(???????????????)
????5.??????????????????????????????????????????
????????
????6.?????????????л???context switch?????????????????????????
???????CPU??????CPU??????????????????????????????Linux???????????????????????????????????????????????????????IO??????????????????????Linux???л???е????????л????洢?????????????????????е?????????????????????????л???????java???????????????????IO??????????IO????????????????sleep???????????????????????????????????????????л??????????л??????????????ù????CPU??????????????????????
????vmstat????cs?????
????7.?????????IO????????????????????????
????????IO????????????linux??????????????IO
??????治???????????????????????IO
????CPU Bound??????????????IO????iowait???????????????