相关疑难解决方法(0)

欺骗JVM关于可用内核的数量(在linux上)

在某些目的中,需要JVM考虑它在具有N核心的机器上运行而不是真实数量的核心(例如4核心而不是核心16).

JVM 在一些基于Mandriva/Red Hat Linux核心的Linux版本下运行.

这个问题是边缘情况,因为我期待这个问题的各种解决方案.这不是纯粹的linux管理问题,也不是纯粹程序员的问题.

所以...任何想法?

linux jvm cpu-cores

13
推荐指数
2
解决办法
3725
查看次数

为什么java安全管理器既不禁止创建新的Thread()也不禁止它?

你碰巧知道解释为什么java安全管理器不禁止创建新线程或启动它们吗?新的FileWriter在安全管理器下,但新的Thread()和threadInstance.start()都不是更安全的安全管理器,并且可以调用.

  1. 禁止它会不会有用吗?
  2. 难以实施吗?
  3. 或者创建和启动新线程并不是那么禁止它?

java multithreading securitymanager

11
推荐指数
1
解决办法
2047
查看次数

numactl --physcpubind

我正在使用numactl,使用--physcpubind选项.手册说:

--physcpubind=cpus, -C cpus
Only execute process on cpus. Etc...
Run Code Online (Sandbox Code Playgroud)

假设我有NUMA系统,有3个NUMA节点,每个节点有4个核心.NUMA节点0具有0,1,2,3作为核心编号.NUMA节点1具有4,5,6,7,NUMA节点2具有8,9,10,11.我的问题是让我说我​​按如下方式运行程序:

export OMP_NUM_THREADS=6
numactl --physcpubind=0,1,4,5,8,9 ./program
Run Code Online (Sandbox Code Playgroud)

即我将用6个线程运行我的程序,我要求它们在CPU核心0,1,4,5,8,9上.例如,如果在程序期间的某个时刻线程0-5被分配了CPU核心0,1,4,5,8,9(setup1).是否有可能在程序执行期间的某个其他时刻线程0可能正在CPU核心9上运行,等等?即CPU内核之间会有线程迁移吗?或者线程唯一地绑定到CPU核心(如在setup1中)?谢谢.

c linux openmp numa

7
推荐指数
1
解决办法
7166
查看次数

标签 统计

linux ×2

c ×1

cpu-cores ×1

java ×1

jvm ×1

multithreading ×1

numa ×1

openmp ×1

securitymanager ×1