2013-08-06 41 views
8

Tôi có tệp jar chạy trên một phiên bản amazon-ec2-m1.large với hệ điều hành 64bit linux. tôi chạy ra khỏi bộ nhớ sau giờ khác nhau, thường là từ 2-4, mặc dù trong nhật ký cuối cùng ghi của tôi (trước khi các tập tin lỗi được tạo ra) Tôi thấy như sau:java hết vấn đề bộ nhớ

Memory - 
    totalHeapSize: 264 MB, 
    maxHeapSize: 1656 MB, 
    freeHeapSize: 220 MB 

Khi tôi nhìn từ lúc bắt đầu cho đến khi bình trong chạy ra khỏi bộ nhớ - tất cả các giá trị đều giống nhau và freeHeapSize là giữa 200-230 MB (i kiểm tra mỗi 30 giây và làm System.gc())

trong hs_err_pid2250.log wrriten sự:

# 
    # 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:46), pid=2250, tid=140227064182528 
    # 
    # JRE version: 7.0_25-b15 
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (23.25-b01 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 (0x00007f8920007800): JavaThread "Unknown thread" [_thread_in_vm, id=2251, stack(0x00007f8928493000,0x00007f8928594000)] 

    Stack: [0x00007f8928493000,0x00007f8928594000], sp=0x00007f89285925d0, free space=1021k 
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) 
    V [libjvm.so+0x8a1d3a] VMError::report_and_die()+0x2ea 
    V [libjvm.so+0x4071fb] report_vm_out_of_memory(char const*, int, unsigned long, char const*)+0x9b 
    V [libjvm.so+0x4b3e2a] GCTaskThread::GCTaskThread(GCTaskManager*, unsigned int, unsigned int)+0xfa 
    V [libjvm.so+0x4b2896] GCTaskManager::initialize()+0x266 
    V [libjvm.so+0x75dc4f] ParallelScavengeHeap::initialize()+0x6cf 
    V [libjvm.so+0x87a078] Universe::initialize_heap()+0xb8 
    V [libjvm.so+0x87c7ed] universe_init()+0x7d 
    V [libjvm.so+0x500315] init_globals()+0x65 
    V [libjvm.so+0x863a62] Threads::create_vm(JavaVMInitArgs*, bool*)+0x1e2 
    V [libjvm.so+0x55ff34] JNI_CreateJavaVM+0x74 
    C [libjli.so+0x2f8e] JavaMain+0x9e 


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

    Java Threads: (=> current thread) 

    Other Threads: 

    =>0x00007f8920007800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=2251, stack(0x00007f8928493000,0x00007f8928594000)] 

    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 

    Internal exceptions (0 events): 
    No events 

    Events (0 events): 
    No events 


    Dynamic libraries: 
    00400000-00401000 r-xp 00000000 ca:01 9384        /usr/java/jdk1.7.0_25/bin/java 
    00600000-00601000 rw-p 00000000 ca:01 9384        /usr/java/jdk1.7.0_25/bin/java 
    01f54000-01f75000 rw-p 00000000 00:00 0         [heap] 
    86600000-87ac0000 rw-p 00000000 00:00 0 
    87ac0000-8b800000 rw-p 00000000 00:00 0 
    8b800000-905b0000 rw-p 00000000 00:00 0 
    905b0000-d92b0000 rw-p 00000000 00:00 0 
    d92b0000-db980000 rw-p 00000000 00:00 0 
    db980000-100000000 rw-p 00000000 00:00 0 
    7f891d000000-7f891d270000 rwxp 00000000 00:00 0 
    7f891d270000-7f8920022000 rw-p 00000000 00:00 0 
    7f8920022000-7f8924000000 ---p 00000000 00:00 0 
    7f8925555000-7f892574d000 rw-p 00000000 00:00 0 
    7f892574d000-7f892574e000 ---p 00000000 00:00 0 
    7f892574e000-7f892584e000 rw-p 00000000 00:00 0 
    7f892584e000-7f892584f000 ---p 00000000 00:00 0 
    7f892584f000-7f892595a000 rw-p 00000000 00:00 0       [stack:2252] 
    7f892595a000-7f8925978000 rw-p 00000000 00:00 0 
    7f8925978000-7f892599f000 rw-p 00000000 00:00 0 
    7f892599f000-7f8925be6000 rw-p 00000000 00:00 0 
    7f8925be6000-7f8925bf1000 rw-p 00000000 00:00 0 
    7f8925bf1000-7f8925c0f000 rw-p 00000000 00:00 0 
    7f8925c0f000-7f8925c36000 rw-p 00000000 00:00 0 
    7f8925c36000-7f8925e7c000 rw-p 00000000 00:00 0 
    7f8925e7c000-7f8925e90000 rw-p 00000000 00:00 0 
    7f8925e90000-7f8925fb3000 rw-p 00000000 00:00 0 
    7f8925fb3000-7f8925fb4000 rw-p 00000000 00:00 0 
    7f8925fb4000-7f8925fcf000 r-xp 00000000 ca:01 17790      /usr/java/jdk1.7.0_25/jre/lib/amd64/libzip.so 
    7f8925fcf000-7f89261ce000 ---p 0001b000 ca:01 17790      /usr/java/jdk1.7.0_25/jre/lib/amd64/libzip.so 
    7f89261ce000-7f89261cf000 rw-p 0001a000 ca:01 17790      /usr/java/jdk1.7.0_25/jre/lib/amd64/libzip.so 
    7f89261cf000-7f89261db000 r-xp 00000000 ca:01 17544      /lib64/libnss_files-2.12.so 
    7f89261db000-7f89263da000 ---p 0000c000 ca:01 17544      /lib64/libnss_files-2.12.so 
    7f89263da000-7f89263db000 r--p 0000b000 ca:01 17544      /lib64/libnss_files-2.12.so 
    7f89263db000-7f89263dc000 rw-p 0000c000 ca:01 17544      /lib64/libnss_files-2.12.so 
    7f89263dc000-7f8926405000 r-xp 00000000 ca:01 17571      /usr/java/jdk1.7.0_25/jre/lib/amd64/libjava.so 
    7f8926405000-7f8926605000 ---p 00029000 ca:01 17571      /usr/java/jdk1.7.0_25/jre/lib/amd64/libjava.so 
    7f8926605000-7f8926607000 rw-p 00029000 ca:01 17571      /usr/java/jdk1.7.0_25/jre/lib/amd64/libjava.so 
    7f8926607000-7f8926614000 r-xp 00000000 ca:01 17789      /usr/java/jdk1.7.0_25/jre/lib/amd64/libverify.so 
    7f8926614000-7f8926813000 ---p 0000d000 ca:01 17789      /usr/java/jdk1.7.0_25/jre/lib/amd64/libverify.so 
    7f8926813000-7f8926815000 rw-p 0000c000 ca:01 17789      /usr/java/jdk1.7.0_25/jre/lib/amd64/libverify.so 
    7f8926815000-7f892681c000 r-xp 00000000 ca:01 17559      /lib64/librt-2.12.so 
    7f892681c000-7f8926a1b000 ---p 00007000 ca:01 17559      /lib64/librt-2.12.so 
    7f8926a1b000-7f8926a1c000 r--p 00006000 ca:01 17559      /lib64/librt-2.12.so 
    7f8926a1c000-7f8926a1d000 rw-p 00007000 ca:01 17559      /lib64/librt-2.12.so 
    7f8926a1d000-7f8926a9f000 r-xp 00000000 ca:01 17537      /lib64/libm-2.12.so 
    7f8926a9f000-7f8926c9e000 ---p 00082000 ca:01 17537      /lib64/libm-2.12.so 
    7f8926c9e000-7f8926c9f000 r--p 00081000 ca:01 17537      /lib64/libm-2.12.so 
    7f8926c9f000-7f8926ca0000 rw-p 00082000 ca:01 17537      /lib64/libm-2.12.so 
    7f8926ca0000-7f89276e1000 r-xp 00000000 ca:01 17795      /usr/java/jdk1.7.0_25/jre/lib/amd64/server/libjvm.so 
    7f89276e1000-7f89278e1000 ---p 00a41000 ca:01 17795      /usr/java/jdk1.7.0_25/jre/lib/amd64/server/libjvm.so 
    7f89278e1000-7f8927984000 rw-p 00a41000 ca:01 17795      /usr/java/jdk1.7.0_25/jre/lib/amd64/server/libjvm.so 
    7f8927984000-7f89279c0000 rw-p 00000000 00:00 0 
    7f89279c0000-7f8927b41000 r-xp 00000000 ca:01 7616      /lib64/libc-2.12.so 
    7f8927b41000-7f8927d41000 ---p 00181000 ca:01 7616      /lib64/libc-2.12.so 
    7f8927d41000-7f8927d45000 r--p 00181000 ca:01 7616      /lib64/libc-2.12.so 
    7f8927d45000-7f8927d46000 rw-p 00185000 ca:01 7616      /lib64/libc-2.12.so 
    7f8927d46000-7f8927d4c000 rw-p 00000000 00:00 0 
    7f8927d4c000-7f8927d4e000 r-xp 00000000 ca:01 17535      /lib64/libdl-2.12.so 
    7f8927d4e000-7f8927f4e000 ---p 00002000 ca:01 17535      /lib64/libdl-2.12.so 
    7f8927f4e000-7f8927f4f000 r--p 00002000 ca:01 17535      /lib64/libdl-2.12.so 
    7f8927f4f000-7f8927f50000 rw-p 00003000 ca:01 17535      /lib64/libdl-2.12.so 
    7f8927f50000-7f8927f66000 r-xp 00000000 ca:01 16704      /usr/java/jdk1.7.0_25/jre/lib/amd64/jli/libjli.so 
    7f8927f66000-7f8928166000 ---p 00016000 ca:01 16704      /usr/java/jdk1.7.0_25/jre/lib/amd64/jli/libjli.so 
    7f8928166000-7f8928167000 rw-p 00016000 ca:01 16704      /usr/java/jdk1.7.0_25/jre/lib/amd64/jli/libjli.so 
    7f8928167000-7f892817e000 r-xp 00000000 ca:01 7640      /lib64/libpthread-2.12.so 
    7f892817e000-7f892837d000 ---p 00017000 ca:01 7640      /lib64/libpthread-2.12.so 
    7f892837d000-7f892837e000 r--p 00016000 ca:01 7640      /lib64/libpthread-2.12.so 
    7f892837e000-7f892837f000 rw-p 00017000 ca:01 7640      /lib64/libpthread-2.12.so 
    7f892837f000-7f8928383000 rw-p 00000000 00:00 0 
    7f8928383000-7f89283a1000 r-xp 00000000 ca:01 9381      /lib64/ld-2.12.so 
    7f89283cb000-7f89283d5000 rw-p 00000000 00:00 0 
    7f89283d5000-7f892848b000 rw-p 00000000 00:00 0 
    7f892848b000-7f8928493000 rw-s 00000000 ca:01 8174      /tmp/hsperfdata_gurustrade/2250 
    7f8928493000-7f8928496000 ---p 00000000 00:00 0 
    7f8928496000-7f8928598000 rw-p 00000000 00:00 0       [stack:2251] 
    7f892859b000-7f892859e000 rw-p 00000000 00:00 0 
    7f892859e000-7f892859f000 r--p 00000000 00:00 0 
    7f892859f000-7f89285a0000 rw-p 00000000 00:00 0 
    7f89285a0000-7f89285a1000 r--p 0001d000 ca:01 9381      /lib64/ld-2.12.so 
    7f89285a1000-7f89285a2000 rw-p 0001e000 ca:01 9381      /lib64/ld-2.12.so 
    7f89285a2000-7f89285a3000 rw-p 00000000 00:00 0 
    7fff64527000-7fff64548000 rw-p 00000000 00:00 0       [stack] 
    7fff645ff000-7fff64600000 r-xp 00000000 00:00 0       [vdso] 
    ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0     [vsyscall] 

    VM Arguments: 
    java_command: /home/gurustrade/proj/versions/trunk/gt_engine/gt_engine.jar 
    Launcher Type: SUN_STANDARD 

    Environment Variables: 
    PATH=/usr/bin:/bin 
    SHELL=/bin/sh 

    Signal Handlers: 
    SIGSEGV: [libjvm.so+0x8a26a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 
    SIGBUS: [libjvm.so+0x8a26a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 
    SIGFPE: [libjvm.so+0x73f3d0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 
    SIGPIPE: [libjvm.so+0x73f3d0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 
    SIGXFSZ: [libjvm.so+0x73f3d0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 
    SIGILL: [libjvm.so+0x73f3d0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 
    SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 
    SIGUSR2: [libjvm.so+0x73ed20], sa_mask[0]=0x00000000, sa_flags=0x10000004 
    SIGHUP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 
    SIGINT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 
    SIGTERM: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 
    SIGQUIT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 


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

    OS:Linux 
    uname:Linux 3.4.48-45.46.amzn1.x86_64 #1 SMP Wed Jun 12 02:04:44 UTC 2013 x86_64 
    libc:glibc 2.12 NPTL 2.12 
    rlimit: STACK 8192k, CORE 0k, NPROC 1024, NOFILE 4096, AS infinity 
    load average:1.01 1.04 1.10 

    /proc/meminfo: 
    MemTotal:  7633612 kB 
    MemFree:   5784036 kB 
    Buffers:   186424 kB 
    Cached:   1025752 kB 
    SwapCached:   0 kB 
    Active:   980284 kB 
    Inactive:   706036 kB 
    Active(anon):  474096 kB 
    Inactive(anon):  100 kB 
    Active(file):  506188 kB 
    Inactive(file): 705936 kB 
    Unevictable:   0 kB 
    Mlocked:    0 kB 
    SwapTotal:    0 kB 
    SwapFree:    0 kB 
    Dirty:    88 kB 
    Writeback:    0 kB 
    AnonPages:  474084 kB 
    Mapped:   43752 kB 
    Shmem:    156 kB 
    Slab:    103892 kB 
    SReclaimable:  84548 kB 
    SUnreclaim:  19344 kB 
    KernelStack:  9032 kB 
    PageTables:  20180 kB 
    NFS_Unstable:   0 kB 
    Bounce:    0 kB 
    WritebackTmp:   0 kB 
    CommitLimit:  3816804 kB 
    Committed_AS: 2130476 kB 
    VmallocTotal: 34359738367 kB 
    VmallocUsed:  23908 kB 
    VmallocChunk: 34359714455 kB 
    AnonHugePages:   0 kB 
    HugePages_Total:  0 
    HugePages_Free:  0 
    HugePages_Rsvd:  0 
    HugePages_Surp:  0 
    Hugepagesize:  2048 kB 
    DirectMap4k:  7872512 kB 
    DirectMap2M:   0 kB 


    CPU:total 2 (4 cores per cpu, 1 threads per core) family 6 model 23 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, tsc 

    /proc/cpuinfo: 
    processor : 0 
    vendor_id : GenuineIntel 
    cpu family : 6 
    model  : 23 
    model name : Intel(R) Xeon(R) CPU   E5430 @ 2.66GHz 
    stepping : 10 
    microcode : 0xa07 
    cpu MHz  : 2660.000 
    cache size : 6144 KB 
    fpu  : yes 
    fpu_exception : yes 
    cpuid level : 13 
    wp  : yes 
    flags  : fpu tsc msr pae cx8 cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dtherm tpr_shadow vnmi flexpriority 
    bogomips : 5320.00 
    clflush size : 64 
    cache_alignment : 64 
    address sizes : 38 bits physical, 48 bits virtual 
    power management: 

    processor : 1 
    vendor_id : GenuineIntel 
    cpu family : 6 
    model  : 23 
    model name : Intel(R) Xeon(R) CPU   E5430 @ 2.66GHz 
    stepping : 10 
    microcode : 0xa07 
    cpu MHz  : 2660.000 
    cache size : 6144 KB 
    fpu  : yes 
    fpu_exception : yes 
    cpuid level : 13 
    wp  : yes 
    flags  : fpu tsc msr pae cx8 cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dtherm tpr_shadow vnmi flexpriority 
    bogomips : 5320.00 
    clflush size : 64 
    cache_alignment : 64 
    address sizes : 38 bits physical, 48 bits virtual 
    power management: 



    Memory: 4k page, physical 7633612k(5784036k free), swap 0k(0k free) 

    vm_info: Java HotSpot(TM) 64-Bit Server VM (23.25-b01) for linux-amd64 JRE (1.7.0_25-b15), built on Jun 5 2013 20:48:36 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8) 

    time: Mon Aug 5 16:11:16 2013 
    elapsed time: 0 seconds 

Ngoài ra, tôi sử dụng threadpoolexecutor với 30 chủ đề cốt lõi và 100 max (không bao giờ sử dụng hơn 30 mặc dù tại một số lần tôi sử dụng tất cả 30)

Cuối cùng, tôi sử dụng kết nối bonecp hồ bơi với 50 kết nối

Bất kỳ lời đề nghị? :)

Sau khi đề xuất, tôi đã thêm một đống sau khi chạy ứng dụng từ máy cục bộ của mình. Làm cách nào để tiếp tục từ đây? Các bước nhảy cam quan trọng có quan trọng không ?, hoặc chỉ quan trọng được sử dụng? enter image description here

+0

Đề nghị: tạo ra một [đống dump] (http://stackoverflow.com/questions/2064427/recommendations-for-a-heap-analysis-tool-for-java) và tìm ra nguyên nhân gây ra điều này. Không hiển thị ở đây. – zapl

+0

Dường như JVM gặp sự cố khi khởi động, khi chứng kiến ​​sự cố xảy ra do cố gắng tạo một luồng cho GC, thiếu các luồng ứng dụng và trạng thái 'VM: không phải tại điểm riêng (không được khởi tạo đầy đủ)'. Ứng dụng có bắt đầu các bản sao của chính nó trong việc tách các JVM không? – Joni

+0

Khi bạn đang chạy một máy ảo trên một máy chia sẻ, có thể máy thực đang hết bộ nhớ không? –

Trả lời

0

Heap chỉ là một phần của phương trình. Có một cái nhìn tổng bộ nhớ cư trú - nó bao gồm đống và đóng góp đống. Off heap bao gồm JAR được ánh xạ, ngăn xếp luồng (~ 1MB cho mỗi luồng), perm gen, v.v. SO có một số câu hỏi về cách thực hiện trên Linux.

+0

làm thế nào tôi có thể theo dõi những "Off heap" s? – user502967

0

Nếu không cố gắng để giải mã các bãi chứa dữ liệu, tôi sẽ quan sát rằng có về cơ bản là ba trường hợp để chạy một JVM ra khỏi bộ nhớ:

  1. Có một cấu trúc (danh sách liệt kê hoặc không có điều gì) mà được phép tích lũy khối lượng dữ liệu chưa sử dụng (nhưng vẫn được tham chiếu).
  2. Để nhiều "xử lý" các xử lý, chủ đề, hoạt động cơ sở dữ liệu mở khác nhau. Đặc biệt nếu sử dụng một API với một thành phần tự nhiên, bạn có khả năng có thể để lại rất nhiều thứ ngoài tầm với của GC.
  3. Thực hiện một yêu cầu cực kỳ lớn (hoặc "bùng nổ" các yêu cầu đó).

Loại ở giữa sẽ là các lớp. Nếu bạn chạy một ứng dụng tự động tạo và tải các lớp, bạn phải sử dụng đúng trình nạp lớp riêng lẻ để làm cho các lớp có thể thu thập được.

+0

cảm ơn! nhưng những gì bạn có nghĩa là "bộ nạp lớp cá nhân"? – user502967

+1

Nếu bạn đang tải một lớp mà bạn muốn có thể tải xuống sau khi không còn cần thiết, bạn cần phải tạo "bộ nạp lớp người dùng" cụ thể cho nó (hoặc cho một nhóm các lớp liên quan sẽ được tải cùng nhau). Điều này là do lớp và trình nạp lớp cơ bản tham chiếu lẫn nhau, vì vậy việc sử dụng trình nạp lớp thông thường sẽ khóa lớp đó tại chỗ và làm cho nó không thể thu thập được. Đó là một chút tham gia, và tôi đã không bao giờ thực sự cần thiết để làm điều này (ít nhất là không cho 10 năm hoặc lâu hơn), vì vậy bạn sẽ phải tìm kiếm các chi tiết. –

+0

cảm ơn! rất hữu ích :) – user502967

1

Vui lòng thử phiên bản 64 bit của Java nếu bạn đang sử dụng phiên bản 32 bit,

Ngoài ra thêm lập luận JVM mới, "-XX: + CMSClassUnloadingEnabled \", mà rõ ràng một số lớp không sử dụng các đối tượng

+0

tôi sử dụng 64, tôi sẽ thêm rằng – user502967

1

Nếu bạn có ram vật lý hơn có sẵn sử dụng đó. Có vẻ như kích thước heap được phân bổ chỉ là 1656 mb mà có lẽ là không đủ. Thử chạy tệp java jar với hai công tắc -xmx4096mb và -xms 2048 Sau đó theo dõi việc sử dụng, có lẽ yêu cầu bộ nhớ quá lớn đối với ứng dụng của bạn, nếu bạn vẫn hết bộ nhớ sau một thời gian thì cần điều tra thêm để kiểm tra xem mã đang rò rỉ bộ nhớ. Hope this helps, cho tôi biết nếu bạn cần làm rõ hơn

7

tôi đã có thể giải quyết một lỗi gần như giống hệt nhau bằng cách làm theo những lời khuyên cho bởi:

https://confluence.csiro.au/pages/viewpage.action?pageId=278167841

Về cơ bản, họ tuyên bố:

Khi máy ảo Java khởi động, theo mặc định nó sinh ra một số chuỗi thu gom rác (GC), được sử dụng cho các phép toán GC song song… số lượng các chủ đề như vậy được tính theo công thức này: (ncpus < = 8)? ncpus: 3 + ((ncpus * 5)/8)… Vì việc tạo ra nhiều đề tài này… chương trình sẽ tự động đạt đến giới hạn hệ thống…

Tôi giới hạn số lượng các chủ đề thu gom rác bằng biến môi trường , giống như vậy:

export _JAVA_OPTIONS="-XX:ParallelGCThreads=2" 

Không chắc chắn về hiệu suất tổng thể đạt được về GC, nhưng ít nhất công việc hôm nay được thực hiện.

Vui lòng kiểm tra bài đăng gốc để có thêm tùy chọn.

Good Luck, - Stu

+0

Tôi đã có chính xác cùng một vấn đề và điều này cố định nó. Đoán máy của tôi có quá nhiều lõi! – zeroimpl