1. 程式人生 > >mysql CPU佔用99.9%問題

mysql CPU佔用99.9%問題

分析:
用ulimit -a|grep open 命令查看了結果為:
open files                      1024
用cat /proc/sys/fs/file-max檢視結果為:
379816
結論:和作業系統預設允許的最大控制代碼數有關.需增大.
解決:
1。修改 /etc/rc.local   新增
echo 8061540 > /proc/sys/fs/file-max
2。直接執行下面命令(也可把該命令新增到/etc/profile最後。這樣即時重啟機器也生效)
#ulimit -HSn 4096
3。修改mysql的設定檔案my.cnf
key_buffer_size = 256M
key_buffer_size指定用於索引的緩衝區大小,增加它可得到更好的索引處理效能。    對於記憶體在4GB左右的伺服器該引數可設定為256M或384M。    注意:該引數值設定的過大反而會是伺服器整體效率降低!
sort_buffer_size = 6M
查詢排序時所能使用的緩衝區大小。注意:該引數對應的分配記憶體是每連線獨佔!如果有100個連線,那麼實際分配的總共排序緩衝區大小為100 × 6 = 600MB。所以,對於記憶體在4GB左右的伺服器推薦設定為6-8M。
4。重啟MYSQL程序,TOP觀測和show processlist觀測。

本文來自ChinaUnix部落格,如果檢視原文請點:
http://blog.chinaunix.net/u/10047/showart_682676.html

相關推薦

mysql CPU佔用99.9%問題

分析: 用ulimit -a|grep open 命令查看了結果為: open files                      1024 用cat /proc/sys/fs/file-max檢視結果為: 379816結論:和作業系統預設允許的最大控制代碼數有關.需增大

解決MySQL CPU佔用100%的經驗總結

朋友主機 (Windows 2003 + IIS + PHP + MySQL) 近來 MySQL 服務程序 (MySQLd-nt.exe) CPU 佔用率總為 100% 高居不下。此主機有10個左右的 database,分別給十個網站呼叫。據朋友測試,導致 MySQLd-n

MYSQL "ORDER BY rand()"的坑--容易導致機器負載、CPU佔用過高

在一次微信砍價活動營銷中,使用了4核16G10M頻寬的伺服器支撐業務,本來這個配置跑個PHP+MYSQL+nginx肯定輕輕鬆的事情,可是隨著活動的高潮,併發數一高,機器負載核CPU一下子就達到100% 始終找不到原因,只知道是mysql分配的記憶體不夠,一直給它加,但是重啟m

MySQL案例:一次單核CPU佔用過高問題的處理

客戶現場反饋,top的檢查結果中,一個CPU的佔用一直是100%。實際上現場有4個CPU,而且這個伺服器是mysql專屬伺服器。 我的第一反應是io_thread一類的引數設定有問題,檢查以後發現read和write的thread設定都是4,這和CPU數一致,因此可以斷定這並不是單顆CPU佔用過高的問題。

Mongodb 佔用99%CPU並且查詢速度很慢原因查詢筆記。

最近一直在用Mongodb,因為只是小專案,所以瞭解的不是很深入,並且只期望夠用就沒有進行深入研究。 但是,最近把Mongodb遷移了機器之後,發現特別慢,而且Mongodb 一直佔據99%的CPU, 於是就開始了下面的糾結旅程。 我檢視Mongodb的log,發現在

Mysqlcpu佔用居高不下的解決辦法

1、先看個命令: SHOW [FULL] PROCESSLIST SHOW PROCESSLISTshows you which threads are running. You can also get this information using themysqla

MySQL具體解釋(9)----------索引具體解釋

eight 操作 字符 class 是否 spa 數據類型 -c def 寫在前面:索引對查詢的速度有著至關重要的影響,理解索引也是進行數據庫性能調優的起點。考慮例如以下情況。假設數據庫中一個表有10^6條記錄,DBMS的頁面大小為4K。並存儲100條記錄。假設沒有

App 99.9%穩定

宋體 col 情況 測試 www. xcode 程序 nbsp span Crash原因 測試找到解決方案後就需要測試,測試功能輸入輸出的準確性、程序性能、是否引入新的bug。測試有專業的測試工程師來負責,但開發工程師不能依賴測試工程師來發現問題,盡量獨立解決已知存在的

Linux CPU 100%, kill -9 殺不掉進程

重啟 class proc lin 分享 查看 style inux AS 1: top 查看 >top -c 此時 我們使用kill -9 15003, 殺掉這個進程短暫的CPU降低幾秒, 然後死灰復燃了, 又一個進程占了CPU 99% 2: 查看1500

一個Tomcat高CPU佔用問題的定位

      前段時間專案(交接過來的)釋出了一個大的版本以後,IDC機器CPU不時會突然飆升,而且是“根本停不下來”的樣子,一上去了就是100%。想來也納悶,雖然發了版本,但沒有太耗CPU的功能,不應該會讓CPU一下子從20%左右飆升到100%

效能優化-CPU佔用過高問題排查

1. 效能優化是什麼? 1.1 效能優化就是發揮機器本來的效能 1.2 效能瓶頸在哪裡,木桶效應。   CPU佔用過高 1、現象重現 CPU佔用過高一般情況是程式碼中出現了迴圈呼叫,最容易出現的情況有幾種: a)遞迴呼叫,退出機制設計的不夠

記一次伺服器掛掉,cpu佔用過大的問題

凌晨一點電話:咚咚咚 喂:伺服器掛掉了,你查檢視問題,然後處理下。 我:好的。 從日誌看幾乎所有的logic日誌全都掛掉,不再列印日誌,然後logic程序僵死,佔用cpu百分90多,有些可怕。 第一反應是邏輯迴圈問題。 因為是公司自己的框架採用lua編寫。

故障排查之一:高CPU佔用

http://www.blogjava.net/hankchen/archive/2012/05/09/377735.html 一個應用佔用CPU很高,除了確實是計算密集型應用之外,通常原因都是出現了死迴圈。 根據top命令,發現PID為28555的Java程序佔用CPU高達200%,出現故

Java應用CPU佔用100%原因分析

在linux環境下部署的應用,有時候出於各種原因,出現cpu佔用100%的情況。這時候,就需要快速分析定位cpu佔用的原因。 通常,通過linux系統的top命令,可以看出具體哪個程序佔用了過多的cpu資源。但如果發現是java程序,那麼就需要進一步分析是java程序中的具體哪個執行

MySQL管理工具-SQLyog 9.63的使用詳解

MySQL管理工具-SQLyog 9.63的使用詳解   1、如何建立資料庫 第一步,右鍵根結點->建立資料庫。 第二步,填寫資料庫名稱,選擇預設字符集等後點確定即可。   2、如何備份和還原資料庫 2.1 備份資料庫的步驟 第一

Visual Studio 2013執行時卡頓 CPU佔用超高的解決方法

文章原始連線: http://feotech.com/?p=116 Visual Studio 2013執行時卡頓 CPU佔用超高的解決方法 使用Visual C++ 編寫程式時發現輸入程式碼時特別卡頓,CPU資源佔用也特別高。經過在網際網路上查詢發現是缺少安裝元件。 參考資料原文 ht

MySQL CPU %sys 高的案例分析(三)

【現象】 最近有臺伺服器晚上CPU告警,系統抓取的故障期間的snapshot顯示CPU %sys較高,同時context switch在300K以上。 是否過高的context switch引起的%sys消耗呢,做了下面的測試,來驗證context switch與CPU %sys之間有沒有直接的關係。

cpu佔用過高排查

top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員 內容解釋: PID:程序的ID USER:程序所有者 PR:程序的優先級別,越小越優先被執行 NInice:值 VIRT:程序佔用的虛擬記憶體 RES:程序佔用的實體記憶體 SHR:程

win10 cpu佔用太高,徹底關閉defender的方法

win10徹底關閉defender的方法 1、首先右鍵開始選單按鈕,點選“執行”,輸入“gpedit.msc”,開啟“本地組策略編輯器”。 2、依次選擇“計算機配置”-“管理模板”-“Windows元件”-“Windows Defender防病毒程式”。 3、找到“關閉Win

linux cpu佔用100%排查

某伺服器上部署了若干tomcat例項,即若干垂直切分的Java站點服務,以及若干Java微服務,突然收到運維的CPU異常告警。 問:如何定位是哪個服務程序導致CPU過載,哪個執行緒導致CPU過載,哪段程式碼導致CPU過載? 步驟一、找到最耗CPU的程序 工具:top 方法: