👉 设置/查看 运行中JVM
进程的DNS Cache
,支持IPv6
。
- 设置/重置
DNS
- 查看
DNS Cache
内容 - 删除一条
DNS Cache
(即重新Lookup DNS
) - 清空
DNS Cache
(即所有的域名重新Lookup DNS
) - 设置/查看
JVM
缺省的DNS
的缓存时间
解压后,运行bin
目录下的dcm
。
$ dcm -h
usage: Options
-h,--help show help
-p,--pid <arg> java process id to attach
# 对进程ID是12345的Java进程,设置域名 foo.com IP为 1.1.1.1
$ dcm -p 12345 set foo.com 1.1.1.1
# 对进程ID是12345的Java进程,设置域名 bar.com IP为 2.2.2.2 3.3.3.3(可以多个IP)
$ dcm -p 12345 set bar.com 2.2.2.2 3.3.3.3
查看单条
# 对进程ID是12345的Java进程,获取域名 aliyun.com 的DNS条目信息
$ dcm -p 12345 get aliyun.com
aliyun.com 220.181.57.217,180.149.132.47,123.125.114.144 2015-06-05T18:56:09.635+0800
# 输出格式是 域名 IP列表(可能有多个IP) 失效时间
查看全部
$ dcm -p 12345 list
Dns cache:
bar.com 2.2.2.2,3.3.3.3 292278994-08-17T15:12:55.807+0800
aliyun.com 220.181.57.217,180.149.132.47,123.125.114.144 2015-06-05T19:00:30.514+0800
foo.com 1.1.1.1 292278994-08-17T15:12:55.807+0800
Dns negative cache:
# 输出包含Cache 和 Negative Cache的条目。条目缩进了4个空格。
# 上面的示例中,Negative Cache为空。
# 删除一条DNS
$ dcm -p 12345 rm aliyun.com
# 清除所有DNS Cache
$ dcm -p 12345 clear
# 查看缓存时间,单位秒。-1表示永远缓存,0表示不缓存
$ dcm -p 12345 getPolicy
30
# 设置缓存时间
$ dcm --pid 12345 setPolicy 5
# 查看未命中条目的缓存时间,单位秒。-1表示永远缓存,0表示不缓存
$ dcm -p 12345 getNegativePolicy
10
# 设置未命中条目的缓存时间
$ dcm -p 12345 setNegativePolicy 0