栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

欺骗JVM有关可用内核数的信息(在Linux上)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

欺骗JVM有关可用内核数的信息(在Linux上)

以下Java程序显示Java VM看到的处理器数量:

public class AvailableProcessors {    public static void main(String... args) {        System.out.println(Runtime.getRuntime().availableProcessors());    }}

如果我在家用计算机上执行此程序,它将显示

4
,这是实际的内核数(包括超线程)。现在,让我们欺骗Java VM,使其相信只有两个处理器:

$ echo '0-1' > /tmp/online$ mount --bind /tmp/online /sys/devices/system/cpu/online

如果我再次运行上述程序,它将打印

2
而不是
4

此技巧会影响系统上的所有进程。但是,可以将效果仅限制于某些过程。Linux上的每个进程都可以拥有自己的安装点名称空间。例如,请参见 mount(2)
手册页中的预处理名称空间部分。例如,您可以使用lxc来使用其自己的
安装名称空间 启动新进程。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382376.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号