解除 Linux 系统的最大进程数和最大文件打开数限制

转载:http://dengqsintyt.iteye.com/blog/2087342

ulimit用于shell启动进程所占用的资源

1、类别:

shell内建命令

2、语法格式:

ulimit [-acdfHlmnpsStvw] [size]

3、参数介绍:

-H 设置硬件资源限制.

-S 设置软件资源限制.

-a 显示当前所有的资源限制.

-c size:设置core文件的最大值.单位:blocks

-d size:设置数据段的最大值.单位:kbytes

-f size:设置创建文件的最大值.单位:blocks

-l size:设置在内存中锁定进程的最大值.单位:kbytes

-m size:设置可以使用的常驻内存的最大值.单位:kbytes

-n size:设置内核可以同时打开的文件描述符的最大值.单位:n

-p size:设置管道缓冲区的最大值.单位:kbytes

-s size:设置堆栈的最大值.单位:kbytes

-t size:设置CPU使用时间的最大上限.单位:seconds

-v size:设置虚拟内存的最大值.单位:kbytes

-u number:设置用户最大进程数 (max user processes)

4、Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个:

ulimit -u 10000

5、对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,最好通过使用 ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024。将每个进程可以打开的文件数目加大到4096,缺省为1024。

ulimit -n 4096 

6、其他建议设置成无限制(unlimited)的一些重要设置是:

数据段长度:ulimit -d unlimited

最大内存大小:ulimit -m unlimited

堆栈大小:ulimit -s unlimited

CPU 时间:ulimit -t unlimited

虚拟内存:ulimit -v unlimited

7、解除 Linux 系统的最大进程数和最大文件打开数限制:

    

1)vi /etc/security/limits.conf,添加如下的行

Python代码  收藏代码
  1. *   soft noproc   11000  
  2. *   hard noproc   11000  
  3. *   soft nofile   4100  
  4. *   hard nofile   4100  

 说明:* 代表针对所有用户

noproc 是代表最大进程数

nofile 是代表最大文件打开数

 

2)、让 SSH 接受 Login 程式的登入,方便在 ssh 客户端查看 ulimit -a 资源限制:

a、vi /etc/ssh/sshd_config

把 UserLogin 的值改为 yes,并把 # 注释去掉

b、重启 sshd 服务:  

Python代码  收藏代码
  1. /etc/init.d/sshd restart  

 

 

3)、修改所有 linux 用户的环境变量文件:

vi /etc/profile

Python代码  收藏代码
  1. ulimit -u 10000  
  2. ulimit -n 4096  
  3. ulimit -d unlimited  
  4. ulimit -m unlimited  
  5. ulimit -s unlimited  
  6. ulimit -t unlimited  
  7. ulimit -v unlimited  

 

        4)、生效         

Sql代码  收藏代码
  1. source   /etc/profile  

<think>我们正在处理用户的问题:Windows XP访问LinuxSamba共享文件夹时提示“已达到连接最大值”的解决方案。根据提示,用户可能是在使用Samba共享时遇到了连接限制的问题。在Samba中,默认配置可能限制了同时连接的用户量。解决方案思路:1.检查并修改Samba配置文件(smb.conf)中的连接限制。2.确保Samba服务重启以使配置生效。3.检查Windows XP客户端的设置,确保没有过时的会话导致连接被占用。具体步骤:步骤1:编辑Samba配置文件Linux服务器上,打开Samba的配置文件(通常位于/etc/samba/smb.conf)。在[global]部分,添加或修改以下参:max logsize=50#日志文件大小,单位KB,可适当调整max connections=0#0表示无限制或者设置为一个较大的值maxsmbd processes=0 #同样0表示无限制注意:参`max connections`在Samba3.x及以后版本中已被`max smbd processes`取代。但为了兼容,可以同时设置。步骤2:重启Samba服务修改配置后,需要重启Samba服务使配置生效。根据不同的Linux发行版,重启命令可能不同:-对于使用systemd的系统(如Ubuntu16.04+,CentOS7+):sudosystemctlrestart smbd-对于使用init.d的系统(如Ubuntu14.04等):sudo servicesmbdrestart步骤3:在WindowsXP客户端上断开旧连接有时候,即使客户端已经关闭了文件,但连接可能仍然被保持一段时间。可以尝试在Windows XP上断开旧的网络连接:-打开“命令提示符”,输入:netuse */delete/y这条命令会断开所有网络连接,然后重新访问共享。步骤4:检查Samba日志如果问题仍然存在,查看Samba日志文件(通常位于/var/log/samba/)以获取更多信息。引用说明:根据用户提供的引用[^1]引用[^2],我们注意到Samba服务器需要用户认证,且可以设置密码同步。但当前问题与连接有关,因此我们主要关注连接限制的配置。注意:Windows XP的SMB协议版本较旧,可能需要Samba服务器启用兼容性设置。但连接问题通常与配置限制有关。生成相关问题:1.如何查看当前Samba服务器的活动连接?2. Samba配置文件中的其他常用参有哪些?3.如何设置Samba用户并管理其权限?</think>### Windows XP 访问 Linux Samba 共享提示“已达到连接最大值”的解决方案 此问题通常由 Samba 服务的默认连接限制引起。以下是逐步解决方案: --- #### 1. **修改 Samba 配置文件** -Linux 服务器上编辑 Samba 主配置文件: ```bash sudo vim /etc/samba/smb.conf ``` - 在 `[global]` 区块添加或修改以下参: ```ini max log size = 50 # 日志大小限制(可选) max connections = 100 # 最大连接(按需调整) max smbd processes = 0 # 0表示无进程限制(关键参) ``` - **说明**: - `max connections` 控制单个用户的最大连接(默认值通常为 0 或 10)。 - `max smbd processes = 0` 解除进程数限制[^1]。 --- #### 2. **重启 Samba 服务** ```bash sudo systemctl restart smbd # 适用于 systemd 系统 # 或 sudo service smbd restart # 适用于 SysVinit 系统 ``` --- #### 3. **Windows XP 客户端清理会话** - 打开命令提示符(CMD),执行: ```cmd net use * /delete /y # 强制断开所有旧连接 ``` - 重新访问共享文件夹。 --- #### 4. **检查 Samba 日志(可选)** - 查看实时连接日志: ```bash sudo tail -f /var/log/samba/log.smbd ``` --- #### 5. **高级配置(如问题持续)** - 在 `smb.conf` 的 `[global]` 中添加: ```ini deadtime = 15 # 空闲连接超时时间(分钟) keepalive = 60 # 保持连接活跃 ``` --- ### 技术原理 Samba 默认限制单个用户的并发连接(通常为 10),当 Windows XP 客户端因异常断开导致会话残留时,容易触发此限制。通过解除进程限制清理客户端会话可解决[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值