国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql中一個普通ERROR 1135 (HY000)錯誤引發的血案

2024-07-24 13:07:48
字體:
來源:轉載
供稿:網友
ERROR 1135 (HY000): 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
 

今天接到測試人員反應,測試環境前端應用程序無連接mysql數據庫,登錄mysql服務器,查看錯誤日志,發現有如下報錯:

ERROR 1135 (HY000): 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

第一反應感覺可能是跟ulimit限制連接數有關,文件描述符不夠用。接下來檢查配置件 /etc/security/limits.conf 相關結果如下:

 

復制代碼代碼如下:

#for root
root soft nofile 65535
root hard nofile 65535
# End of file
mysql soft nproc 65536
mysql hard nproc 65536
mysql soft nofile 65535
mysql hard nofile 65535

 

配置沒有問題,mysql的ulimit限制已經打開。

但是,執行如下命令:

 

 

復制代碼代碼如下:

# sudo -u root bash -c " ulimit -a "
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 62591
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

 

發現max user processes值仍為1024.

而在Centos5里面,只須在/etc/security/limits.conf添加如下兩行:
 
點擊(此處)折疊或打開
root soft nofile 65535 
root hard nofile 65535
 
對應的uilmit  -u 就會是65535. 
 
后來猜想centos6的用戶的ulimit限制是不是還有其他的配置文件做相關的限制呢?果不其然,發現在 /etc/security/limits.d/目錄下,有一個名為:90-nproc.conf的配置文件,
打開看看什么內容:
 
[root@fztest ~]# cat /etc/security/limits.d/90-nproc.conf

 

復制代碼代碼如下:

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

 

* soft nproc 1024


而在配置文件/etc/security/limits.d/90-nproc.conf中的 “* soft nproc 1024”的意思是任何用戶的最大max user processes為1024個,也就是說,系統的任何用戶均不可以通過ulimit -u來修改 。真的是這樣嗎?我們來進行如下驗證操作:

 

 

復制代碼代碼如下:

[oracle@fztest ~]$ ulimit -u 65535
-bash: ulimit: max user processes: cannot modify limit: Operation not permitted
[root@fztest ~]# ulimit -u 65535
[root@fztest ~]# ulimit -u 
65535

 

由以上操作,可知事實上這個限制是對除root以外的普通用戶進行的限制,root可以通過ulimit -u 65535來進行即時修改,只對當前會話生效。一旦重啟服務器,便會失效(重新恢復max user processes  -u 1024)。

接下來,嘗試通過修改這個配置文件,來驗證max user processes的值是否會改變。
將/etc/security/limits.d/90-nproc.conf中的1024修改為65535后,執行如下命令:

 

復制代碼代碼如下:

[root@fztest ~]# sudo -u root bash -c " ulimit -a" 
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 95191
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 65535
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

 

由此可見,修改生效。如果不想修改/etc/security/limits.d/90-nproc.conf這個文件,也可以將此限制添加到/etc/rc.local文件中,讓其開機應用生效即可。 
成功修改了root用戶的max user processes后,繼續使用root用戶啟動mysqld_safe腳本,穩定運行了一個上午,一切正常。 至此,ERROR 1135 (HY000): Can't create a new thread (errno 11)這個問題總算告以段落。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 公安县| 湘乡市| 龙井市| 宁陵县| 石阡县| 比如县| 遵义县| 闻喜县| 黄平县| 图们市| 额济纳旗| 株洲县| 临邑县| 滨海县| 全椒县| 澳门| 分宜县| 班玛县| 惠州市| 石家庄市| 隆林| 修文县| 中卫市| 吴忠市| 宜兰县| 鞍山市| 绥滨县| 吉林省| 三河市| 准格尔旗| 沁源县| 安龙县| 恩平市| 龙游县| 屏东县| 出国| 巨野县| 西吉县| 华阴市| 探索| 渭源县|