虚拟内存每秒都会增加 - 内存不足错误

时间:2018-06-13 15:35:24

标签: java linux jvm heap-memory virtual-memory

我的Linux系统有8GB RAM(实际7.78 GB,交换1024 MB),有4个内核。 我正在使用以下命令运行spring boot应用程序

screen -dmS API-Server java -jar -verbose:gc
-Dspring.profiles.active=prods1 -Xms1024m -Xmx4096m -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/ssvm/heapdump -XX:OnOutOfMemoryError='jmap -histo -F %p' /home/ssvm/api/nt-api-v2-0.0.1-SNAPSHOT.jar

我在这台服务器上安装了Apache,Apache将收到所有API请求,Apache将重定向到Java API Server。 2000用户将在窥视时使用此API。最大RAM使用量为1.5到2.5 GB。但虚拟内存每秒都在增加(在TOP上监控它)。在某个时间点,我因新的api请求而出现Out of Memory Error。 在窥视时CPU使用率为50%,RAM使用率为:Apache - 1.36 GB和Java - 1.60 GB

我使用jmap获取了heapdump,我使用VisualVM进行了分析,RAM使用量为1443 MB。我有自由RAM和CPU使用率。我没有在代码级别上看到任何问题。 我看到的唯一区别是,虚拟内存每秒都在增加,它达到10 GB,20 GB,26GB。

关于这个问题的任何想法? 1)为什么虚拟内存不断增加? 2)这种内存不足错误的原因是什么?

root@ssvms2ubuntu:~# 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) 31861
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 350000
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 31861
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


root@ssvms2ubuntu:~# java -XX:+PrintFlagsFinal -version | grep ThreadStackSize
     intx CompilerThreadStackSize                   = 0                                   {pd product}
     intx ThreadStackSize                           = 1024                                {pd product}
     intx VMThreadStackSize                         = 1024                                {pd product}
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)


Error log is generated as below (Last line of the log clearly shows, It has sufficient memory):

#
# There is insufficient memory for the Java Runtime Environment to continue.
# Cannot create GC thread. Out of system resources.
# Possible reasons:
#   The system is out of physical RAM or swap space
#   In 32 bit mode, the process size limit was hit
# Possible solutions:
#   Reduce memory load on the system
#   Increase physical memory or swap space
#   Check if swap backing store is full
#   Use 64 bit Java on a 64 bit OS
#   Decrease Java heap size (-Xmx/-Xms)
#   Decrease number of Java threads
#   Decrease Java thread stack sizes (-Xss)
#   Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
#  Out of Memory Error (gcTaskThread.cpp:48), pid=14493, tid=0x00007fefe3a1e700
#
# JRE version:  (8.0_171-b11) (build )
# Java VM: OpenJDK 64-Bit Server VM (25.171-b11 mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#

---------------  T H R E A D  ---------------

Current thread (0x0000000000c07800):  JavaThread "Unknown thread" [_thread_in_vm, id=14493, stack(0x00007ffc0363f000,0x00007ffc0373f000)]

Stack: [0x00007ffc0363f000,0x00007ffc0373f000],  sp=0x00007ffc03739620,  free space=1001k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xa6db9b]
V  [libjvm.so+0x4c694c]
V  [libjvm.so+0x5a87ff]
V  [libjvm.so+0x5a7967]
V  [libjvm.so+0x8e0169]
V  [libjvm.so+0xa310f9]
V  [libjvm.so+0xa31342]
V  [libjvm.so+0x61133f]
V  [libjvm.so+0xa166ea]
V  [libjvm.so+0x68b8c2]  JNI_CreateJavaVM+0x62
C  [libjli.so+0x2f2e]
C  [libjli.so+0x84f6]
C  [libjli.so+0x4a44]
C  [libjli.so+0x55a0]  JLI_Launch+0x9d0
C  [java+0x621]
C  [libc.so.6+0x20830]  __libc_start_main+0xf0


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )

Other Threads:

=>0x0000000000c07800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=14493, stack(0x00007ffc0363f000,0x00007ffc0373f000)]

VM state:not at safepoint (not fully initialized)

VM Mutex/Monitor currently owned by a thread: None

GC Heap History (0 events):
No events

Deoptimization events (0 events):
No events

Classes redefined (0 events):
No events

Internal exceptions (0 events):
No events

Events (0 events):
No events


Dynamic libraries:
00400000-00401000 r-xp 00000000 08:00 256826                             /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
00600000-00601000 r--p 00000000 08:00 256826                             /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
00601000-00602000 rw-p 00001000 08:00 256826                             /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
00be8000-00c28000 rw-p 00000000 00:00 0                                  [heap]
83600000-88a00000 rw-p 00000000 00:00 0 
88a00000-d6780000 ---p 00000000 00:00 0 
d6780000-d9180000 rw-p 00000000 00:00 0 
d9180000-100000000 ---p 00000000 00:00 0 
7fefd093d000-7fefd0967000 rw-p 00000000 00:00 0 
7fefd0967000-7fefd0bd6000 ---p 00000000 00:00 0 
7fefd0bd6000-7fefd0c00000 rw-p 00000000 00:00 0 
7fefd0c00000-7fefd0e6e000 ---p 00000000 00:00 0 
7fefd0e6e000-7fefd0e84000 rw-p 00000000 00:00 0 
7fefd0e84000-7fefd0fbb000 ---p 00000000 00:00 0 
7fefd0fbb000-7fefd0fc6000 rw-p 00000000 00:00 0 
7fefd0fc6000-7fefd137c000 ---p 00000000 00:00 0 
7fefd137c000-7fefd15ec000 rwxp 00000000 00:00 0 
7fefd15ec000-7fefe037c000 ---p 00000000 00:00 0 
7fefe037c000-7fefe0384000 r-xp 00000000 08:00 256865                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libzip.so
7fefe0384000-7fefe0583000 ---p 00008000 08:00 256865                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libzip.so
7fefe0583000-7fefe0584000 r--p 00007000 08:00 256865                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libzip.so
7fefe0584000-7fefe0585000 rw-p 00008000 08:00 256865                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libzip.so
7fefe0585000-7fefe0590000 r-xp 00000000 08:00 4286                       /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fefe0590000-7fefe078f000 ---p 0000b000 08:00 4286                       /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fefe078f000-7fefe0790000 r--p 0000a000 08:00 4286                       /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fefe0790000-7fefe0791000 rw-p 0000b000 08:00 4286                       /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fefe0791000-7fefe0797000 rw-p 00000000 00:00 0 
7fefe0797000-7fefe07a2000 r-xp 00000000 08:00 4290                       /lib/x86_64-linux-gnu/libnss_nis-2.23.so
7fefe07a2000-7fefe09a1000 ---p 0000b000 08:00 4290                       /lib/x86_64-linux-gnu/libnss_nis-2.23.so
7fefe09a1000-7fefe09a2000 r--p 0000a000 08:00 4290                       /lib/x86_64-linux-gnu/libnss_nis-2.23.so
7fefe09a2000-7fefe09a3000 rw-p 0000b000 08:00 4290                       /lib/x86_64-linux-gnu/libnss_nis-2.23.so
7fefe09a3000-7fefe09b9000 r-xp 00000000 08:00 4264                       /lib/x86_64-linux-gnu/libnsl-2.23.so
7fefe09b9000-7fefe0bb8000 ---p 00016000 08:00 4264                       /lib/x86_64-linux-gnu/libnsl-2.23.so
7fefe0bb8000-7fefe0bb9000 r--p 00015000 08:00 4264                       /lib/x86_64-linux-gnu/libnsl-2.23.so
7fefe0bb9000-7fefe0bba000 rw-p 00016000 08:00 4264                       /lib/x86_64-linux-gnu/libnsl-2.23.so
7fefe0bba000-7fefe0bbc000 rw-p 00000000 00:00 0 
7fefe0bbc000-7fefe0bc4000 r-xp 00000000 08:00 6115                       /lib/x86_64-linux-gnu/libnss_compat-2.23.so
7fefe0bc4000-7fefe0dc3000 ---p 00008000 08:00 6115                       /lib/x86_64-linux-gnu/libnss_compat-2.23.so
7fefe0dc3000-7fefe0dc4000 r--p 00007000 08:00 6115                       /lib/x86_64-linux-gnu/libnss_compat-2.23.so
7fefe0dc4000-7fefe0dc5000 rw-p 00008000 08:00 6115                       /lib/x86_64-linux-gnu/libnss_compat-2.23.so
7fefe0dc5000-7fefe0df2000 r-xp 00000000 08:00 256856                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjava.so
7fefe0df2000-7fefe0ff1000 ---p 0002d000 08:00 256856                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjava.so
7fefe0ff1000-7fefe0ff2000 r--p 0002c000 08:00 256856                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjava.so
7fefe0ff2000-7fefe0ff4000 rw-p 0002d000 08:00 256856                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjava.so
7fefe0ff4000-7fefe1003000 r-xp 00000000 08:00 256842                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libverify.so
7fefe1003000-7fefe1202000 ---p 0000f000 08:00 256842                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libverify.so
7fefe1202000-7fefe1204000 r--p 0000e000 08:00 256842                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libverify.so
7fefe1204000-7fefe1205000 rw-p 00010000 08:00 256842                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libverify.so
7fefe1205000-7fefe120c000 r-xp 00000000 08:00 4292                       /lib/x86_64-linux-gnu/librt-2.23.so
7fefe120c000-7fefe140b000 ---p 00007000 08:00 4292                       /lib/x86_64-linux-gnu/librt-2.23.so
7fefe140b000-7fefe140c000 r--p 00006000 08:00 4292                       /lib/x86_64-linux-gnu/librt-2.23.so
7fefe140c000-7fefe140d000 rw-p 00007000 08:00 4292                       /lib/x86_64-linux-gnu/librt-2.23.so
7fefe140d000-7fefe1423000 r-xp 00000000 08:00 2256                       /lib/x86_64-linux-gnu/libgcc_s.so.1
7fefe1423000-7fefe1622000 ---p 00016000 08:00 2256                       /lib/x86_64-linux-gnu/libgcc_s.so.1
7fefe1622000-7fefe1623000 rw-p 00015000 08:00 2256                       /lib/x86_64-linux-gnu/libgcc_s.so.1
7fefe1623000-7fefe172b000 r-xp 00000000 08:00 6553                       /lib/x86_64-linux-gnu/libm-2.23.so
7fefe172b000-7fefe192a000 ---p 00108000 08:00 6553                       /lib/x86_64-linux-gnu/libm-2.23.so
7fefe192a000-7fefe192b000 r--p 00107000 08:00 6553                       /lib/x86_64-linux-gnu/libm-2.23.so
7fefe192b000-7fefe192c000 rw-p 00108000 08:00 6553                       /lib/x86_64-linux-gnu/libm-2.23.so
7fefe192c000-7fefe1a9e000 r-xp 00000000 08:00 24061                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7fefe1a9e000-7fefe1c9e000 ---p 00172000 08:00 24061                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7fefe1c9e000-7fefe1ca8000 r--p 00172000 08:00 24061                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7fefe1ca8000-7fefe1caa000 rw-p 0017c000 08:00 24061                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7fefe1caa000-7fefe1cae000 rw-p 00000000 00:00 0 
7fefe1cae000-7fefe2907000 r-xp 00000000 08:00 256869                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
7fefe2907000-7fefe2b07000 ---p 00c59000 08:00 256869                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
7fefe2b07000-7fefe2b9a000 r--p 00c59000 08:00 256869                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
7fefe2b9a000-7fefe2bc3000 rw-p 00cec000 08:00 256869                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
7fefe2bc3000-7fefe2bf3000 rw-p 00000000 00:00 0 
7fefe2bf3000-7fefe2c0b000 r-xp 00000000 08:00 4289                       /lib/x86_64-linux-gnu/libpthread-2.23.so
7fefe2c0b000-7fefe2e0a000 ---p 00018000 08:00 4289                       /lib/x86_64-linux-gnu/libpthread-2.23.so
7fefe2e0a000-7fefe2e0b000 r--p 00017000 08:00 4289                       /lib/x86_64-linux-gnu/libpthread-2.23.so
7fefe2e0b000-7fefe2e0c000 rw-p 00018000 08:00 4289                       /lib/x86_64-linux-gnu/libpthread-2.23.so
7fefe2e0c000-7fefe2e10000 rw-p 00000000 00:00 0 
7fefe2e10000-7fefe2e13000 r-xp 00000000 08:00 6114                       /lib/x86_64-linux-gnu/libdl-2.23.so
7fefe2e13000-7fefe3012000 ---p 00003000 08:00 6114                       /lib/x86_64-linux-gnu/libdl-2.23.so
7fefe3012000-7fefe3013000 r--p 00002000 08:00 6114                       /lib/x86_64-linux-gnu/libdl-2.23.so
7fefe3013000-7fefe3014000 rw-p 00003000 08:00 6114                       /lib/x86_64-linux-gnu/libdl-2.23.so
7fefe3014000-7fefe302d000 r-xp 00000000 08:00 2375                       /lib/x86_64-linux-gnu/libz.so.1.2.8
7fefe302d000-7fefe322c000 ---p 00019000 08:00 2375                       /lib/x86_64-linux-gnu/libz.so.1.2.8
7fefe322c000-7fefe322d000 r--p 00018000 08:00 2375                       /lib/x86_64-linux-gnu/libz.so.1.2.8
7fefe322d000-7fefe322e000 rw-p 00019000 08:00 2375                       /lib/x86_64-linux-gnu/libz.so.1.2.8
7fefe322e000-7fefe33ee000 r-xp 00000000 08:00 6558                       /lib/x86_64-linux-gnu/libc-2.23.so
7fefe33ee000-7fefe35ee000 ---p 001c0000 08:00 6558                       /lib/x86_64-linux-gnu/libc-2.23.so
7fefe35ee000-7fefe35f2000 r--p 001c0000 08:00 6558                       /lib/x86_64-linux-gnu/libc-2.23.so
7fefe35f2000-7fefe35f4000 rw-p 001c4000 08:00 6558                       /lib/x86_64-linux-gnu/libc-2.23.so
7fefe35f4000-7fefe35f8000 rw-p 00000000 00:00 0 
7fefe35f8000-7fefe3605000 r-xp 00000000 08:00 256866                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/jli/libjli.so
7fefe3605000-7fefe3805000 ---p 0000d000 08:00 256866                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/jli/libjli.so
7fefe3805000-7fefe3806000 r--p 0000d000 08:00 256866                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/jli/libjli.so
7fefe3806000-7fefe3807000 rw-p 0000e000 08:00 256866                     /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/jli/libjli.so
7fefe3807000-7fefe382d000 r-xp 00000000 08:00 4267                       /lib/x86_64-linux-gnu/ld-2.23.so
7fefe3914000-7fefe391c000 rw-s 00000000 08:00 375248                     /tmp/hsperfdata_ssvm/14493
7fefe391c000-7fefe391d000 ---p 00000000 00:00 0 
7fefe391d000-7fefe3a22000 rw-p 00000000 00:00 0 
7fefe3a28000-7fefe3a29000 rw-p 00000000 00:00 0 
7fefe3a29000-7fefe3a2a000 r--p 00000000 00:00 0 
7fefe3a2a000-7fefe3a2c000 rw-p 00000000 00:00 0 
7fefe3a2c000-7fefe3a2d000 r--p 00025000 08:00 4267                       /lib/x86_64-linux-gnu/ld-2.23.so
7fefe3a2d000-7fefe3a2e000 rw-p 00026000 08:00 4267                       /lib/x86_64-linux-gnu/ld-2.23.so
7fefe3a2e000-7fefe3a2f000 rw-p 00000000 00:00 0 
7ffc0363f000-7ffc03642000 ---p 00000000 00:00 0 
7ffc03642000-7ffc0373f000 rw-p 00000000 00:00 0                          [stack]
7ffc0377f000-7ffc03782000 r--p 00000000 00:00 0                          [vvar]
7ffc03782000-7ffc03784000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

VM Arguments:
java_command: <unknown>
java_class_path (initial): .
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=/home/ssvm/bin:/home/ssvm/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
SHELL=/bin/bash

Signal Handlers:
SIGSEGV: [libjvm.so+0xa6e6f0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGBUS: [libjvm.so+0xa6e6f0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGFPE: [libjvm.so+0x8b5d50], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGPIPE: [libjvm.so+0x8b5d50], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGXFSZ: [libjvm.so+0x8b5d50], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGILL: [libjvm.so+0x8b5d50], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
SIGUSR1: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
SIGUSR2: [libjvm.so+0x8b5c00], sa_mask[0]=00000000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
SIGHUP: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
SIGINT: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
SIGTERM: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
SIGQUIT: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none


---------------  S Y S T E M  ---------------

OS:DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

uname:Linux 4.15.13-x86_64-linode106 #1 SMP Tue Mar 27 14:42:14 UTC 2018 x86_64
libc:glibc 2.23 NPTL 2.23 
rlimit: STACK 8192k, CORE 0k, NPROC 30000, NOFILE 350000, AS infinity
load average:0.12 0.61 0.78

/proc/meminfo:
MemTotal:        8162148 kB
MemFree:          926104 kB
MemAvailable:    4199816 kB
Buffers:           36152 kB
Cached:          3239184 kB
SwapCached:            0 kB
Active:          3805844 kB
Inactive:        2607852 kB
Active(anon):    3146828 kB
Inactive(anon):    22700 kB
Active(file):     659016 kB
Inactive(file):  2585152 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        262140 kB
SwapFree:         262140 kB
Dirty:               312 kB
Writeback:             0 kB
AnonPages:       3138376 kB
Mapped:            78500 kB
Shmem:             31172 kB
Slab:             258780 kB
SReclaimable:     136292 kB
SUnreclaim:       122488 kB
KernelStack:      207616 kB
PageTables:        69452 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4343212 kB
Committed_AS:   14450168 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
DirectMap4k:       40824 kB
DirectMap2M:     5201920 kB
DirectMap1G:     5242880 kB


CPU:total 4 (initial active 4) (1 cores per cpu, 1 threads per core) family 6 model 63 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, lzcnt, tsc, bmi1, bmi2

/proc/cpuinfo:
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 63
model name  : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
stepping    : 2
microcode   : 0x1
cpu MHz     : 2499.988
cache size  : 16384 KB
physical id : 0
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 5001.30
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 63
model name  : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
stepping    : 2
microcode   : 0x1
cpu MHz     : 2499.988
cache size  : 16384 KB
physical id : 1
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 5001.30
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 63
model name  : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
stepping    : 2
microcode   : 0x1
cpu MHz     : 2499.988
cache size  : 16384 KB
physical id : 2
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 5001.30
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 63
model name  : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
stepping    : 2
microcode   : 0x1
cpu MHz     : 2499.988
cache size  : 16384 KB
physical id : 3
siblings    : 1
core id     : 0
cpu cores   : 1
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 5001.30
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:



Memory: 4k page, physical 8162148k(926104k free), swap 262140k(262140k free)

vm_info: OpenJDK 64-Bit Server VM (25.171-b11) for linux-amd64 JRE (1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11), built on Apr 27 2018 17:19:03 by "buildd" with gcc 5.4.0 20160609

time: Wed Jun 13 11:33:33 2018
elapsed time: 0 seconds (0d 0h 0m 0s)

1 个答案:

答案 0 :(得分:0)

应用程序正在使用第三方库,该库创建线程并且在处理完成后未破坏线程。这创造了巨大的生命线。因此虚拟内存增加了,系统崩溃了。

使用jstack找到了它。

我们可以使用以下命令来检查linux机器中正在运行的线程, ps -elfT | wc -l <​​/ p>

它在逐渐增加。

当我分析jstack报告时,发现创建了大线程并且未正确销毁它们。