{"id":10265,"date":"2023-12-27T16:23:00","date_gmt":"2023-12-27T08:23:00","guid":{"rendered":"https:\/\/yanjingang.com\/blog\/?p=10265"},"modified":"2024-12-27T16:26:35","modified_gmt":"2024-12-27T08:26:35","slug":"linux-%e5%b8%b8%e8%a7%81%e7%b3%bb%e7%bb%9f%e7%9b%91%e6%8e%a7","status":"publish","type":"post","link":"https:\/\/yanjingang.com\/blog\/?p=10265","title":{"rendered":"Monitor\u2014\u76d1\u63a7Linux\u7cfb\u7edf\u8d1f\u8f7d"},"content":{"rendered":"<p>\u7b80\u5355\u7c97\u66b4\u76d1\u63a7\u7cfb\u7edf\u72b6\u6001\u5e76\u4fdd\u5b58\u5230LOG\u6587\u4ef6\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">vim monitor.bash\r\n\r\n#!\/bin\/bash\r\nLOG_DIR=\/home\/${USER}\/log\r\nmkdir -p ${LOG_DIR}\r\nTIME=$(date '+%Y%m%d_%H%M%S')\r\n\r\n\r\n# monitor cpu\r\npkill -2 -f -e -u ${USER} \"^mpstat -P ALL 1\"\r\nmpstat -P ALL 1 1&gt; ${LOG_DIR}\/monitor_cpu_stat.log.${TIME} 2&gt;\/dev\/null &amp;\r\n\r\n# monitor io &amp; pagefault\r\npkill -2 -f \"^pidstat 1 -dr -l\"\r\npidstat 1 -dr -l &amp;&gt; ${LOG_DIR}\/monitor_io_pagefault.log.${TIME} &amp;\r\n\r\n# monitor pid\r\npkill -2 -f -e -u ${USER} \"^pidstat 1 -l\"\r\npidstat 1 -l 1&gt; ${LOG_DIR}\/monitor_pid_stat.log.${TIME} 2&gt;\/dev\/null &amp;\r\n\r\n# monitor disk io\r\npkill -2 -f -e -u ${USER} \"^iostat -xyzdmt 1\"\r\niostat -xyzdmt 1 &gt; ${LOG_DIR}\/monitor_disk_io_stat.log.${TIME} 2&gt;\/dev\/null &amp;\r\n\r\n\r\n# monitor network\r\npkill -2 -f -e -u ${USER} \"^sar -n DEV 1\"\r\nsar -n DEV 1 &gt; ${LOG_DIR}\/monitor_network_dev.log.${TIME} 2&gt;\/dev\/null &amp;\r\n\r\n# monitor gpu\r\npkill -2 -f -e -u ${USER} \"^nvidia-smi\"\r\nnvidia-smi dmon -s umvt -o T -f ${LOG_DIR}\/gpu_dmon.log.${TIME} &amp;&gt; \/dev\/null &amp;\r\n\r\n\r\n# monitor other\r\nwhile (true)\r\ndo\r\n    # monitor cgroup\r\n    date &gt;&gt; ${LOG_DIR}\/monitor_cgroup.log.${TIME}\r\n    systemd-cgtop -b -n 10  1&gt;&gt;  ${LOG_DIR}\/monitor_cgroup.log.${TIME} 2&gt;\/dev\/null\r\n    sleep 1\r\n\r\n    ((count=$count+1))\r\n    if [ \"$count\" -gt 6 ]; then\r\n        date &gt;&gt; ${LOG_DIR}\/monitor_cgls.log.${TIME}\r\n        systemd-cgls --no-pager -l &gt;&gt; ${LOG_DIR}\/monitor_cgls.log.${TIME}\r\n        count=1\r\n    fi\r\n\r\n    # monitor buddyinfo\r\n    date '+%Y%m%d %H:%M:%S' &gt;&gt; ${LOG_DIR}\/monitor_buddyinfo.log.${TIME}\r\n    cat \/proc\/vmstat &gt;&gt; ${LOG_DIR}\/monitor_buddyinfo.log.${TIME}\r\n    cat \/proc\/buddyinfo 1&gt;&gt;  ${LOG_DIR}\/monitor_buddyinfo.log.${TIME} 2&gt;\/dev\/null\r\n    # cat \/proc\/net\/softnet_stat &gt;&gt; ${LOG_DIR}\/monitor_buddyinfo.log.${TIME}\r\n    # awk '{for (i=1; i&lt;=NF; i++) printf strtonum(\"0x\" $i) (i==NF?\"\\n\":\" \")}' \/proc\/net\/softnet_stat | column -t  &gt;&gt; ${LOG_DIR}\/monitor_buddyinfo.log.${TIME}\r\n    # cat \/proc\/interrupts | egrep \"CPU|axon|basa\" &gt;&gt; ${LOG_DIR}\/monitor_buddyinfo.log.${TIME}\r\n    cat \/proc\/meminfo  &gt;&gt;  ${LOG_DIR}\/monitor_buddyinfo.log.${TIME}\r\n    cat \/proc\/zoneinfo | grep \"pages free\" -A8 -B1 &gt;&gt; ${LOG_DIR}\/monitor_buddyinfo.log.${TIME}\r\n    # cat \/proc\/vmstat &gt;&gt; ${LOG_DIR}\/monitor_buddyinfo.log.${TIME}\r\n\r\n    sleep 1\r\ndone<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>yan 23.12.27<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7b80\u5355\u7c97\u66b4\u76d1\u63a7\u7cfb\u7edf\u72b6\u6001\u5e76\u4fdd\u5b58\u5230LOG\u6587\u4ef6\uff1a vim monitor.bash #!\/bin\/bash LOG_D [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[31],"tags":[1338,32,1438,1437],"_links":{"self":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/10265"}],"collection":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10265"}],"version-history":[{"count":3,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/10265\/revisions"}],"predecessor-version":[{"id":10271,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/10265\/revisions\/10271"}],"wp:attachment":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}