MySQLのケース〜SYSが高すぎる占有率の分析

スピンロック(スピンロックが説明)
定義およびコンテンツ:
    1スピンロックは、それによって、同時にアクセスマルチタスクを同期されるの重要なデータを保護する、主な役割は、重要なデータをロックすることで、スピンロックと呼ばれます。重要なデータが現在アクセスできない場合は、これまでにアクセスできるようになるまで、その後、スピン。
    2スピンロック作業自体は、コンテキストスイッチを伴わない長所と短所、高速実行の利点を反映して、欠点はCPU集約的であり、特に高い占有率性能SYS
    3つの取得は、クリティカル領域は、ロックのクリティカルセクションに入ると称される、およびロック解除は、重要な領域から離れて呼ばれています。スピンロックは、この重要な地域を保護することです。
    多くのアプリケーションやリソースのリリースでは、重要なリソースを保護するために、4 CPUコアは、スピンロック経由になるだろう。ソース__spin_lockのさらなる分析が必要とされています。
二つのMySQL調査手段
    PERFにより位置決めのmysqldの1 PID _spin_lock占有率が高すぎる
    mysqldプロセスを追跡する2 pstackの使用
       mysqld`のPID `ptsack
    3ログ分析ptsack
    4つのビューMySQLのInnoDBのステータスステータススレッド競合ホットスポット
3つの特定の性能
    SYSのCPU負荷主に以下の高い:
     (1)CPUのカーネル・モード・スピン、カーネルモードスピン待機中のスレッドのCPU多数
     (2)システムのコンテキストスイッチは、分割された
         スピンが失敗し続けた場合にウェイクアップし、最終的にOSに待機、コール待機条件pthread_cond_waitのキー機能pthread_cond_waitの
         malloc()頻繁な加算と減算OSミューテックス、および神経系メモリキー関数malloc
     (3)一般的な場合
         、ゾーン変換機能1つのLinuxシステムのタイムゾーンのMySQLの不整合が生じたときに
         2が頻繁に起因するメモリの問題割り当てNUMA
        補充する3
4つのMySQLの内部のグローバルロックの説明
     kernel_mutexは、グローバルロック保護業務、バッファー・プール、ロック、およびそのオブジェクトのInnoDBストレージエンジンのほとんどは達成することです。MySQLは訪問の多くは、時間が一度非常に高い同時実行は、ミューテックスの競合が非常に激しく、そして重要な面積が非常に大きくなったときに、突然、だけでなく、時間のCPUのアイドルの多くを無駄に。だから、これはSYS CPUはmysql8.0ロックが分割されます後、アイドリング中の選択肢の多くを消費する説明
5補足ケースを
   https://mp.weixin.qq.com/s/hXtCzSnlVfo9Cq92538ipw?

おすすめ

転載: www.cnblogs.com/danhuangpai/p/11790527.html