主题材料现象:

主题素材现象:

Linux 下tomcat 出现 java.lang.OutOfMemoryError: unable to create new native thread,createnativethread

澳门金沙国际 ,标题现象:

汤姆cat(八.5.一3)安顿了SuperMap
iServer,并发用户在100左右。系统运行一段时间后,服务崩溃。万分提醒

澳门金沙国际 1

主题素材浅析:

一、看到日志中的提示音信后,感觉是系统内部存储器不足导致的。于是在服务器上增多了监察和控制脚本(如下图),每一s记下一次系统内部存款和储蓄器和tomcat内部存款和储蓄器。

澳门金沙国际 2

监察1段时间后,十分再现。从日记中向来不发掘内部存款和储蓄器格外

二、内部存款和储蓄器排除后,思路转到是或不是是由于并发用户数太多,导致的历程数超越呢?

 1)查看linux 当前用户的能源限制参数 ulimit -a

澳门金沙国际 3

二)在上面这么些参数中,关心得相比多的是3个历程可张开的最大文件数,即open
files。系统允许成立的最大进度数量正是max user processes 这么些参数。
我们得以选拔 ulimit -u 40玖陆 修改max user
processes的值,不过只可以在时下终端的这么些session里目生效,重新登入后照旧是应用系统默许值。

没有错的修章是修改/etc/security/limits.d/90-nproc.conf文件中的值。先看一下以此文件包涵怎么样:

$ 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    4096

我们只要修改上边文件中的40九六那些值,就能够。

透过排查,确实是出于服务器当前用户安装的最大进度数设置太小导致的壹筹莫展创设进度,崩溃。

 

参考:

linux 查看当前进程:

下tomcat 出现 java.lang.OutOfMemoryError:
unable to create new native thread,createnativethread 难点现象:
汤姆cat(8.5.13)布置了SuperMap iServer,并发用户在…

ps:查看系统中的进度,Linux中可以动用ps -aux查看全体进度

Tomcat(八.五.1三)安顿了SuperMap
iServer,并发用户在100左右。系统运行1段时间后,服务崩溃。极度提醒

汤姆cat(8.伍.1三)安排了SuperMap
iServer,并发用户在拾0左右。系统运营壹段时间后,服务崩溃。万分提示

  参数w表示加宽展现的命令行,参数w能够写数十次,日常最多写三次,表示加宽壹次,那能够展现很短的命令行了。比方:ps
-auxwww

澳门金沙国际 4

澳门金沙国际 5

  top:呈现系统内部存款和储蓄器、cpu使用状态,并可自动刷新进程列表

难题分析:

标题分析:

  vmstat:呈现当前的内部存储器使用境况

Linux下常用监控和管理命令工具。1、看到日志中的提示新闻后,认为是系统内部存款和储蓄器不足导致的。于是在服务器上增添了监督检查脚本(如下图),每一s记下二次系统内部存款和储蓄器和tomcat内存。

一、看到日志中的提醒新闻后,以为是系统内部存款和储蓄器不足导致的。于是在服务器上加多了监督检查脚本(如下图),每一s记下叁遍系统内部存款和储蓄器和tomcat内部存款和储蓄器。

  netstat:显示网络情况,使用参数p能够查占星应的经过号及程序名,

澳门金沙国际 6

澳门金沙国际 7

  日常选择参数a(呈现全数连接情状)和n(不反查域名和服务名),举例:netstat
-anp。

监督检查一段时间后,分外重现。从日记中尚无察觉内部存款和储蓄器极度

监督一段时间后,十分重现。从日记中从未发掘内部存款和储蓄器卓殊

  查看服务器侦听情形,使用:netstat -an | grep LISTEN

二、内部存款和储蓄器排除后,思路转到是或不是是由于并发用户数太多,导致的长河数超越呢?

2、内部存款和储蓄器排除后,思路转到是或不是是由于并发用户数太多,导致的长河数超越呢?

  查看服务器已确立的连日,使用:netstat -an | grep ESTABLISHED

 一)查看linux 当前用户的能源限制参数 ulimit -a

 一)查看linux 当前用户的财富限制参数 ulimit -a

  ifconfig:查看(或设置)网络设施音信

澳门金沙国际 8

澳门金沙国际 9

  ifconfig -a:查看全体互连网设置信息

二)在地点那个参数中,关怀得比较多的是1个经过可张开的最大文件数,即open
files。系统允许创设的最大进度数量就是max user processes 这些参数。
大家得以应用 ulimit -u 40九陆 修改max user
processes的值,不过只可以在当下终端的那些session里面生效,重新登陆后仍然是使用系统默许值。

二)在地点这么些参数中,关切得比较多的是多个经过可张开的最大文件数,即open
files。系统允许创建的最大进度数量就是max user processes 那么些参数。
大家能够使用 ulimit -u 4096 修改max user
processes的值,可是只幸而当前极端的那么些session里不熟悉效,重新登入后依然是应用系统默许值。

  last:呈现登6到服务器的情况以及服务注重启情况

正确的改换章程是修改/etc/security/limits.d/90-nproc.conf文件中的值。先看一下那些文件包蕴哪些:

正确的修改章程是修改/etc/security/limits.d/90-nproc.conf文件中的值。先看一下这么些文件包罗怎么着:

  df:彰显硬盘空间及运用情状,Linux下可以带参数h,突显结果更人性化。举例:

$ 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    4096
$ 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    4096

  df -h 硬盘空间按人性化显示

咱俩只要修改上边文件中的4096这么些值,就能够。

小编们只要修改上边文件中的40玖陆以此值,就可以。

  df -k 硬盘空间按KB突显

通过排查,确实是出于服务器当前用户安装的最大进度数设置太小导致的力不从心制造进度,崩溃。

透过排查,确实是出于服务器当前用户安装的最大进度数设置太小导致的1筹莫展创制进程,崩溃。

  df -m 硬盘空间按MB彰显

 

 

  w:呈现登入到服务器上的用户列表

参考:

参考:

 

  以下多少个指令仅针对Linux

linux 查看当前历程:

linux 查看当前经过:

  lsof:展现当前打开的文书列表,包罗创制的socket连接等。本命令能够用于程序员检查编写的次第张开的公文数。

  sysctl:展现(或安装)系统基本参数

  sysctl -a 展现全体内核参数

  sysctl -w 参数名=参数值

  举例:sysctl -w fs.file-max=10240
设置系统允许同时开采的最大文件数为拾240。

  内核参数fs.file-nr包罗五个参数值,第2个参数表示系统中早就同时开荒过的文件数峰值,

  第二个参数表示没事(分配后已出狱)的文件数,

  第八个参数表示能够展开的最大文件数,其值等于fs.file-max。

  当前张开的公文数 = 第多个参数值 – 次之个参数值

例如:

  fs.file-nr = 977 223 10240

  当前张开的公文数 = 97七 – 23叁 = 74四

  设置基本参数时必须小心,假诺设置不当会导致系统分外,乃至当机。

  ulimit:展现(或设置)用户能够行使的能源限制

  ulimit -a 展现用户能够应用的财富限制

  ulimit unlimited
不限制用户可以运用的财富,但本设置对可张开的最大文件数(max open files)

  和可同时运营的最大进度数(max user processes)无效

  ulimit -n <能够同时展开的文本数>
设置用户能够同时展开的最大文件数(max open files)

  例如:ulimit -n 8192

  固然本参数设置过小,对于出现访问量大的网址,可能会油不过生too many open
files的错误

  ulimit -u <能够运作的最大并发进度数>
设置用户能够同时运营的最大进度数(max user processes)

  例如:ulimit -u 1024

 

-aux查看全数进度参数w表示加宽呈现的命令行,参数w能够写多次,日常最多写3回,表示加宽一回,…

相关文章