<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                通過下面十個命令來了解有關系統資源使用和運行情況 ~~~ uptimed mesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar -n DEV 1 sar -n TCP,ETCP 1 top ~~~ ## 1\. uptime ~~~ $ uptime 23:51:26 up 21:31, 1 user, load average: 30.02, 26.43, 19.02 ~~~ load average除以CPU核心數得到每個CPU的平均活躍進程數,數值越大表示每個CPU上運行的進程越多,系統壓力越大,當平均值大于0.7時表示系統較為繁忙。 ## 2\. dmesg | tail 展示最近10條系統消息。在這些系統消息中查找最有可能引起性能問題的原因。 ## 3\. vmstat 1 ~~~ root@vultr:~# vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 3 0 9364 1576 103296 0 0 7265 165 13 15 3 6 90 1 0 0 3 0 6220 1644 105512 0 0 17283 108 694 1398 2 5 0 93 0 ~~~ `free`:空閑的內存(單位的KB)。如果計數很大,說明服務器有足夠的內存,`free -m`命令將對空閑內存的狀態有更好的說明。 `si`、`so`:交換置入和交換置出。如果這兩個值是非空,說明物理內存用完了,現在在使用交換內存了。 如果?r經常大于?4?,且id經常少于40,表示cpu的負荷很重。如果pi,po?長期不等于0,表示內存不足。如果disk?經常不等于0,?且在?b中的隊列?大于3,?表示?io性能不好。Linux在具有高穩定性、可靠性的同時,具有很好的可伸縮性和擴展性,能夠針對不同的應用和硬件環境調整,優化出滿足當前應用需要的最佳性能。 ## 4\. mpstat -P ALL 1 ~~~ Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle Average: all 1.21 0.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 98.38 Average: 0 1.21 0.00 0.40 0.00 0.00 0.00 0.00 0.00 0.00 98.38 ~~~ %usr在 internal 時間段里,用戶態的 CPU 時間(%),不包含 nice 值為負進程。 %sys在 internal 時間段里,核心時間(%)。 %nice在 internal 時間段里,nice 值為負進程的 CPU 時間(%)。 %iowait在 internal 時間段里,硬盤 IO 等待時間(%)。 %irq在 internal 時間段里,硬中斷時間(%)。 %soft在 internal 時間段里,軟中斷時間(%)。 可用于檢查不平衡的情況。單個熱CPU說明是單線程應用程序在大量占用CPU時間。 ## 5\. pidstat 1 ~~~ 07:23:44 AM UID PID %usr %system %guest %wait %CPU CPU Command 07:23:45 AM 0 21757 1.01 0.00 0.00 0.00 1.01 0 sshd 07:23:45 AM 0 23597 0.00 1.01 0.00 1.01 1.01 0 pidstat 07:23:45 AM 0 23598 0.00 1.01 0.00 1.01 1.01 0 etcd 07:23:45 AM UID PID %usr %system %guest %wait %CPU CPU Command 07:23:46 AM 0 851 0.99 0.00 0.00 0.00 0.99 0 python 07:23:46 AM 0 23597 0.99 0.00 0.00 0.00 0.99 0 pidstat 07:23:46 AM UID PID %usr %system %guest %wait %CPU CPU Command 07:23:47 AM 0 23598 1.02 0.00 0.00 0.00 1.02 0 etcd ~~~ 常用的參數: * `-u`默認參數,顯示各個進程的 CPU 統計信息 * `-r`顯示各個進程的內存使用情況 * `-d`顯示各個進程的 IO 使用 * `-w`顯示各個進程的上下文切換 * `-p PID`指定 PID %cpu即可查看每個進程cpu占用情況。 ## 6\. iostat -xz 1 ~~~ Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util vda 38.00 133.00 860.00 1412.00 0.00 2.00 0.00 1.48 0.63 0.15 0.03 22.63 10.62 0.05 0.80 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.00 0.00 0.00 100.00 Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util vda 131.25 2.08 920.83 4.17 0.00 0.00 0.00 0.00 0.10 0.00 0.00 7.02 2.00 0.00 0.00 ~~~ 這是了解塊設備(磁盤),應用的工作負載和產生的性能影響的絕佳工具。重點關注下面的指標: * `r/s`、`w/s`、`rkB/s`、`wkB/s`:這些是設備每秒交付的讀取、寫入、讀取千字節和寫入千字節。使用這些來表征塊設備的工作負載。性能問題可能是由于向塊設備施加了過多的工作負載。 * `await`:IO的平均時間,以毫秒為單位。這是應用程序所感受到的時間,它包括IO排隊時間和IO服務時間。大于預期的平均時間可能表示塊設備飽和或設備出現問題了。 * `avgqu-sz`:發給設備的平均請求數。值大于1可以表明已達到飽和狀態(盡管設備通常可以并行處理請求,尤其是在多個后端磁盤所組成的前端虛擬設備的情況下)。 * `%util`:設備利用率。這是一個表征繁忙度的百分比,它表示設備每秒工作的時間。盡管它的值取決于設備,但值大于60%通常會導致性能不佳(也會通過await的值觀察到)。接近100%的值通常表示飽和。 \*如果存儲設備是有許多后端磁盤組成的前端邏輯磁盤設備,則100%的利用率可能僅意味著100%的時間正在處理某些IO,但是后端磁盤可能遠遠沒有飽和,并且可能還可以處理更多的工作。 請記住,性能不佳的磁盤IO不一定是應用問題,通常可以使用許多技術以執行異步IO,以便使應用程序不會被阻塞住而產生直接產生IO延遲(例如,預讀和緩沖寫入技術) ## 7\. free -m root@vultr:~# free -m total used free shared buff/cache available Mem: 481 331 18 0 131 137 Swap: 0 0 0 右邊兩列: * `buffers`:緩沖區高速緩存,用于塊設備I / O * `cached`:頁面緩存,由文件系統使用 我們只需要檢查下它們的大小是否接近零。如果接近零的話,這可能導致較高的磁盤IO(可以使用iostat進行確認)和較差的性能。上面的示例看起來不錯,每列都有較大的數據。 `-/+ buffers/cache`為已用和空閑內存提供較少讓人產生混亂的值。Linux將可用內存用于高速緩存,但是如果應用程序需要,它們可以快速被回收。因此應以某種方式將緩存的內存包括在`free`列中,這也就是這一行的所做的。甚至還有一個[網站](http://www.linuxatemyram.com/)專門討論了這種混亂。 如果在Linux上使用ZFS,就像我們對某些服務所做的那么,因為ZFS具有自己的文件系統緩存,它們并不會反映在`free -m`的列中,因此這種場景下這種混亂還將存在。所以會看到似乎系統的可用內存不足,而實際上可根據需要從ZFS緩存中申請到內存。 ## 8\. sar -n DEV 1 ~~~ 07:48:28 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 07:48:29 AM ens3 3.06 10.20 0.32 1.52 0.00 0.00 0.00 0.00 07:48:29 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:48:29 AM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:48:29 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 07:48:30 AM ens3 5.94 16.83 0.39 2.26 0.00 0.00 0.00 0.00 07:48:30 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:48:30 AM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ~~~ 此工具可以檢查網絡接口的吞吐量:`rxkB/s`和`txkB/s`,作為工作負載的度量,還可以檢查是否已達到網絡接口的限制。在上面的示例中,eth0接收速率達到22MB/s,即176Mbit/s(遠低于1Gbit/s的網絡接口限制,假設是千兆網卡)。 ## 9\. sar -n TCP,ETCP 1 ~~~ 07:50:27 AM active/s passive/s iseg/s oseg/s 07:50:28 AM 4.08 1.02 9.18 14.29 07:50:27 AM atmptf/s estres/s retrans/s isegerr/s orsts/s 07:50:28 AM 0.00 0.00 1.02 0.00 0.00 Average: active/s passive/s iseg/s oseg/s Average: 3.52 1.01 14.32 18.09 Average: atmptf/s estres/s retrans/s isegerr/s orsts/s Average: 0.00 0.00 2.51 0.00 0.50 ~~~ 這是一些關鍵的TCP指標的摘要,包括: * `active / s`:每秒本地啟動的TCP連接數(例如,通過connect())。 * `passive/s`:每秒遠程啟動的TCP連接數(例如,通過accept())。 * `retrans / s`:每秒TCP重傳的次數。 主動和被動計數通常作為服務器TCP負載的粗略度量:新接受的連接數(被動)和新出站的連接數(主動)。將主動視為出站,將被動視為入站可能對理解這兩個指標有些幫助,但這并不是嚴格意義上的(例如,考慮從localhost到localhost的連接)。 重新傳輸是網絡或服務器問題的跡象;它可能是不可靠的網絡(例如,公共Internet),也可能是由于服務器過載并丟棄了數據包。上面的示例僅顯示每秒一個新的TCP連接。 ## 10\. perf
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看