日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个普通ERROR 1135 (HY000)错误引发的血案:

發布時間:2025/6/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个普通ERROR 1135 (HY000)错误引发的血案: 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一個普通ERROR 1135 (HY000)錯誤引發的血案: 今天接到測試人員反應,測試環境前端應用程序無連接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)這個問題總算告以段落。
    ?

    轉載于:https://blog.51cto.com/255361/1054204

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的一个普通ERROR 1135 (HY000)错误引发的血案:的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。