临时更改linux栈空间大小

1、通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下 为10240 即10M

2、通过命令 ulimit -s 设置大小值 临时改变栈空间大小:ulimit -s 102400, 即修改为100M

3、可以在/etc/rc.local 内 加入 ulimit -s 102400 则可以开机就设置栈空间大小

4、在/etc/security/limits.conf 中也可以改变栈空间大小: 

   #<domain>      <type>  <item>         <value>

     *                   soft        stack            102400

    重新登录,执行ulimit -s  即可看到改为102400 即100M

 

 

  
  
  
  
  1. Linux系统上默认的open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够。 
  2.  
  3. (1)ulimit -HSn 102400 
  4.  
  5. 这只是在当前终端有效,退出之后,open files 又变为默认值。 
  6.  
  7.  
  8. (2)将ulimit -HSn 102400写到/etc/profile中,因为每次登录终端时,都会自动执行/etc/profile。 
  9.  
  10.  
  11. (3)令修改open files的数值永久生效,则必须修改配置文件:/etc/security/limits.conf. 在这个文件后加上: 
  12. * soft nofile 102400 
  13. * hard nofile 102400 
  14.  
  15.  
  16.  
  17. 这种方法需要重启机器才能生效。 
  18.  
  19.  
  20.  
  21. (4)为了让一个程序的open files数目扩大,可以在启动脚本前面加上(1)中的命令。当程序是一个daemon时,可能这种方法无效,没有终端了。 
  22. PS: 
  23.  
  24. 影响open files数值的还有一个内核参数file-max,这是Linuxt系统的总限制。可以通过如下文式查看: 
  25.  
  26. cat /proc/sys/fs/file-max 
  27. 或者 
  28. sysctl -a | grep fs.file-max 
  29.  
  30.  
  31. 对于服务器可以采用如下方法修改file-max: 
  32.  
  33. (1)重启机器后恢复为默认值 
  34.  
  35. echo 34166 > /proc/sys/fs/file-max 
  36. 或者 
  37. sysctl -w "fs.file-max=34166
  38.  
  39. (2)修改配置文件/etc/sysctl.conf, 在最后加上一行: 
  40.  
  41. fs.file-max = 34166 
  42.  
  43. 然后重启机器后生效。以后永久生效。 

 

你可能感兴趣的:(linux,空间)