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
- db_writer_processes-log_archive_max_processesHive
- -bash: ulimit: max user processes: cannot modify limit: Operation not permitted問題的處理MIT
- Overview of User Processes (109)View
- 關於 CentOS 7 裡面 普通使用者 Ulimit max user processes 值的問題CentOSMIT
- linux安裝oracle 修改/etc/security/limits.confLinuxOracleMIT
- mysql報錯Changed limits: max_open_files: 5000MySqlMIT
- A discussion of Dead Connection Detection, Resource Limits, V$SESSION, V$PROCESS and OS processesMITSession
- std::numeric_limits::max() std::numeric_limits::min()編譯錯誤MIT編譯
- linux 手動增加userLinux
- AIX 修改系統檔案 /etc/security/limitsAIMIT
- disruptor動態修改EventHandler
- lit動態修改樣式
- MYSQL max_user_connections back_log max_connections引數和Max_used_connectionsMySql
- LOG_ARCHIVE_MAX_PROCESSES=30導致資料庫啟停都很慢Hive資料庫
- 【iOS】動態修改APP圖示iOSAPP
- javascript 動態修改css樣式JavaScriptCSS
- 動態修改linkbutton標題
- linux修改IP為靜態IPLinux
- linux limits.conf配置說明LinuxMIT
- unity 動態修改當前橫豎屏狀態Unity
- 聊聊 Vue 中 title 的動態修改Vue
- php如何動態修改網頁titlePHP網頁
- hyperf 框架動態修改或追加配置框架
- Oracle 10g Limits - Logical Database LimitsOracle 10gMITDatabase
- Oracle動態、靜態引數引數修改規則Oracle
- Linux動態庫Linux
- 動態修改應用icon和name
- MySQL動態修改varchar長度的方法MySql
- vue element框架動態修改夜間模式Vue框架模式
- uni-app 動態修改主題色APP
- drools動態增加、修改、刪除規則
- Docker 如何動態修改容器埠對映Docker
- AndroidJava動態修改CheckBox樣式AndroidJava
- 動態修改input元素type屬性值
- 檢視引數是否可以動態修改
- Java反射動態修改註解的值Java反射
- 修改Memory_max_target為0出錯