美文网首页Java 杂谈
Java影响线程创建的因素

Java影响线程创建的因素

作者: voltric | 来源:发表于2018-06-21 11:28 被阅读9次

“原创精选,转载注明出处,三克油”
@Date 2018.06.21


JVM : 内存不够会影响Thread的Create, 特别是C Heap. 以下JVM参数主要影响的是剩余内存的大小

  • Xmx
    • 堆大小
  • Xss
    • 线程堆栈大小
    • 占用越小,创建的线程数量越多
  • MaxPermSize
    • 持久代
    • 存放Class和Meta信息
    • 不会被垃圾回收
    • 默认物理内存的1/64
  • MaxDirectMemorySize
    • 堆外内存上限
  • ReservedCodeCacheSize
    • 代码缓存区
    • JIT编译的代码

Kernel

  • max_user_processes
    • 用户进程数量限制
    • ulimit -u最大值
  • max_map_count
    • 涉及系统内存分配操作, 若超过sysctl_max_map_count则创建线程失败
    • /proc/sys/vm/max_map_count, 默认65530
  • max_threads
    • /proc/sys/kernel/threads-max
    • 受到物理内存限制,在系统做fork时, 会初始化此值
    • max_threads = mempages / (8 * THREAD_SIZE / PAGE_SIZE);
  • pid_max
    • 分配的PID数量限制
    • /proc/sys/kernel/pid_max

相关文章

  • Java影响线程创建的因素

    Java影响线程创建的因素 @Date 2018.06.21 JVM : 内存不够会影响Thread的Create...

  • Java影响线程创建的因素

    “原创精选,转载注明出处,三克油”@Date 2018.06.21 JVM : 内存不够会影响Thread的Cre...

  • Java 能创建多少线程

    java 最多能创建多少线程? 由以下因素限制: a. stack_size b. max_user_proces...

  • Java 多线程之线程的创建及其使用

    一、创建线程以及启动线程 二、停止线程 三、线程类中函数详解 一、创建线程以及启动线程 创建线程:Java中创建线...

  • 线程池的使用

    Java线程池 前言 平时使用Java线程时,习惯于直接new Thread来创建一个线程,这种创建线程的方法随手...

  • 线程

    java 中创建线程有哪几种方式? Java中创建线程主要有三种方式: 一、继承Thread类创建线程类 (1)定...

  • Java基础(六)

    多线程 Java多线程并发 1.1 JAVA 并发知识库 1.2 JAVA 线程实现/创建方式 1.2.1 继承 ...

  • 分析jdk-1.8-ForkJoinPool实现原理(上)

    Java并发编程源码分析系列: 分析Java线程池的创建 分析Java线程池执行原理 分析Java线程池Calla...

  • 分析jdk-1.8-ForkJoinPool实现原理(下)

    Java并发编程源码分析系列: 分析Java线程池的创建 分析Java线程池执行原理 分析Java线程池Calla...

  • 分析ReentrantLock的实现原理

    Java并发编程源码分析系列: 分析Java线程池的创建 分析Java线程池执行原理 分析Java线程池Calla...

网友评论

    本文标题:Java影响线程创建的因素

    本文链接:https://www.haomeiwen.com/subject/fwjqyftx.html