linux動態修改 max user processes limits
MySQL資料庫 連線出現以下異常:
ERROR 1135 (HY0000):?Can’t create a new thread (errno 11); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug
?以上是OS層面的max processes不夠導致的,透過以下實驗可以重現此異常:
#設定mysql最大連線數1024 作業系統的Max process為1024
#使用如下方法模擬100個連線到mysql
~]# cat conn.sh
#!/bin/bash
for i in {1..1024}
do
mysql -uroot –p123456 -h 127.0.0.1 -e "select sleep(1000)" &
done
sh conn.sh
執行此指令碼,稍後出現如下報錯
此時檢視mysql中的連線數
我們知道max connections是1024 但到了975個連線的時候,再次連線就會報Can’t create a new thread (errno 11)的錯誤
從 OS kernel 2.6.32 開始 :
動態修改mysql程式的limits引數,可以使用如下方式:
echo -n ‘Max processes=SOFT_LIMITS:HARD_LIMITS’ > /proc/`pidof mysqld`/limits
透過如上命令就可以動態調整已經存在的mysqld的processes限制了。
例如,在此實驗環境中,作業系統資訊如下:
~]# uname -r
2.6.32-131.0.15.el6.x86_64
~]# echo -n "Max processes=10240:10240" > /proc/12946/limits
發現mysql程式對應的limit引數已經動態變成10240,此時再次模擬多個連線到mysql:
此時,丟擲的異常是過多的連線了 而不再是:?Can’t create a new thread (errno 11)
綜上,資料庫伺服器的max process limit需要調整,至少要保證資料庫的max connections小於它,如果已經執行的mysql遇到此問題,而實際真的需要增大max connections時,可以透過echo -n ‘Max processes=SOFT_LIMITS:HARD_LIMITS’ > /proc/`pidof mysqld`/limits 方式來動態調整正在執行的mysql的limits引數,從而避免重啟資料庫的操作
參考https://www.percona.com/blog/2013/02/04/cant_create_thread_errno_11/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27000195/viewspace-1979138/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx 修改 max open files limitsNginxMIT
- mysql報錯Changed limits: max_open_files: 5000MySqlMIT
- lit動態修改樣式
- Selenium RemoteWebDriver 利用CDP修改User-AgentREMWeb
- 程式(Processes)
- Git批量修改歷史commit中的user.name 和user.emailGitMITAI
- Git 修改已初始化配置過的 user.name user.emailGitAI
- AndroidJava動態修改CheckBox樣式AndroidJava
- javascript 動態修改css樣式JavaScriptCSS
- Linux動態庫Linux
- unity 動態修改當前橫豎屏狀態Unity
- ConstraintLayout 之 ConstraintSet 動態修改約束(動畫)AI動畫
- php如何動態修改網頁titlePHP網頁
- 聊聊 Vue 中 title 的動態修改Vue
- shell動態修改yml配置例項
- hyperf 框架動態修改或追加配置框架
- 動態修改應用icon和name
- 修改 Nginx 程式最大可開啟檔案數(worker processes和worker connections)Nginx
- [Linux]動靜態庫Linux
- Linux下Apache遮蔽user-agentLinuxApache
- Oracle Physical Database LimitsOracleDatabaseMIT
- SpringBoot @JmsListener(destination = ) 執行時動態修改Spring Boot
- Spring Boot動態修改日誌級別Spring Boot
- Java反射動態修改註解的值Java反射
- uni-app 動態修改主題色APP
- MySQL動態修改varchar長度的方法MySql
- drools動態增加、修改、刪除規則
- Docker 如何動態修改容器埠對映Docker
- vue element框架動態修改夜間模式Vue框架模式
- Linux open file與 fs-maxLinux
- SAP QM Dynamic Modification Rule (動態修改規則)
- linux下的靜態庫與動態庫Linux
- 3DS MAX備忘筆記(修改器)3D筆記
- Linux動態列印kernel日誌Linux
- Android動態修改應用圖示和名稱Android
- ClassPlaceholder外掛:動態修改jar包class檔案JAR
- jQuery動態修改連結的href屬性值jQuery
- 動態修改Shape的solid屬性的color值Solid
- SVG 在 image 標籤中的動態修改技巧SVG