tla*_*tla 6 java macos java.lang
如果我在OS X Sierra(JDK 8u111)上运行以下命令,则需要5秒钟才能运行(而不是像Linux上的毫秒):
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
public class BeanTest {
public static void main (String[] args) {
RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean();
System.out.println(bean.getName());
}
}
Run Code Online (Sandbox Code Playgroud)
这导致我使用的库大幅减速,其较新的版本称之为管理API的这一部分.我的第一个想法是它是一个DNS问题(计算机在本地家庭NAT上)但我尝试在shell中解析我的本地主机名或我的本地IP地址立即返回(NXDOMAIN)答案.在Java进程上运行dtruss会在5秒滞后期间不断重复这些行:
782/0x36f5: psynch_cvwait(0x7FEE4170B968, 0x20100000300, 0x200) = -1 Err#316
782/0x36f5: gettimeofday(0x7000039B4938, 0x0, 0x0) = 0 0
Run Code Online (Sandbox Code Playgroud)
这里发生了什么,我该怎么做才能解除这个瓶颈?
小智 1
我通过手动将 HostName 设置为 LocalHostName 解决了该问题,在此之前,未设置 HostName:
$ scutil --set HostName $(scutil --get LocalHostName)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
303 次 |
| 最近记录: |