ssh連接報錯Write failed: Broken pipe Resource temporarily unavailable


問題描述

  • 使用root連接服務器正常,切換普通用戶連接報錯

    • 具體報錯如下:Write failed: Broken pipe
    • 或者:failed to execute /bin/bash: Resource temporarily unavailable
  • 使用root切換普通用戶也報錯

    • 具體報錯如下:su: cannot set user id: Resource temporarily unavailable
  • 該普通用戶運行java程序

問題原因

  • 排查是服務器系統單個用戶打開進程最大數限制導致

問題處理

  • nproc(單個用戶可用的最大進程數量)
    • 主要修改系統 nproc值,即可解決問題,

    • 1.在limit文件追加下面兩行;
      vi  /etc/security/limits.conf  
      * soft nofile  65535
      * hard nofile 65535

    • 1.1修改/etc/pam.d/login;
      vi /etc/pam.d/login
      session required pam_limits.so
      告訴Linux在用戶完成系統登錄后,應該調用pam_limits.so模塊來設置系統對該用戶可使用的各種資源數量的最大限制(包括用戶可打開的最大文件數限制)。
      而pam_limits.so模塊就會從/etc/security/limits.conf文件中讀取配置來設置這些限制值

    • 2.修改 nproc 默認值1024 到65535

      • centos 7.X以后新增了一個/etc/security/limits.d/20-nproc.conf 文件,用於控制nproc,這里面的默認配置是
        vi /etc/security/limits.d/20-nproc.conf
        * soft nproc  65535
        * hard nproc  65535

      • centos 6.X以后新增了一個/etc/security/limits.d/90-nproc.conf 文件,用於控制nproc,這里面的默認配置是
        vi /etc/security/limits.d/90-nproc.conf
        * soft nproc  65535
        * hard nproc  65535

參考連接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM