解決MySQL 控制代碼數佔用過多問題方法

來源:互聯網
上載者:User


在Windows下安裝MySQL ,用了官方的設定精靈產生了my.ini,本以為很安穩了,誰知十多個小時過去之後,系統響應非常慢,看資源管理員的效能卡,發現控制代碼數竟然達到了10萬!怪不得無論使用什麼程式都卡得很。
網上搜尋一下,大概是說 innodb_buffer_pool_size 這個預設的8M太大,但我已經skip-innodb了啊。

後來又看到一個設定innodb_flush_log_at_trx_commit

innodb_flush_log_at_trx_commit  (這個很管用)

抱怨Innodb比MyISAM慢 100倍?那麼你大概是忘了調整這個值。預設值1的意思是每一次事務提交或事務外的指令都需要把日誌寫入(flush)硬碟,這是很費時的。特別是使用電池供電緩衝(Battery backed up cache)時。設成2對於很多運用,特別是從MyISAM錶轉過來的是可以的,它的意思是不寫入硬碟而是寫入系統緩衝。日誌仍然會每秒flush到硬碟,所以你一般不會丟失超過1-2秒的更新。設成0會更快一點,但安全方面比較差,即使MySQL掛了也可能會丟失事務的資料。而值2隻會在整個作業系統掛了時才可能丟資料。

後來設定成了innodb_flush_log_at_trx_commit = 2。

重啟MYSQL服務,的確好了許多,控制代碼數最終保持在2萬左右,處於穩定點,其它程式快了許多。
看來在設定檔中innodb即使skip掉了,也仍然在使用系統中的記憶體、磁碟IO,看來對於MYSQL的配置還是要手工研究,不能完全依賴於內建的組態工具。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.