👉 修改/查看 运行中JVM
进程的DNS Cache
。
- 设置/重置
DNS
- 查看
DNS Cache
内容 - 删除一条
DNS Cache
(即重新Lookup DNS
) - 清空
DNS Cache
(即所有的域名重新Lookup DNS
) - 修改/查看
JVM
缺省的DNS
的缓存时间
在项目Release页面下载文件dcm-tool-x.x.x.tar.gz
。
解压后,运行bin
目录下的dcm
脚本(Shell脚本
)。
$ dcm -h
usage: Options
-h,--help show help
-p,--pid <arg> java process id to attach
# 对进程ID是12345的Java进程,设置域名 baidu.com IP为 1.1.1.1
$ dcm -p 12345 set baidu.com 1.1.1.1
set DONE.
查看单条
# 对进程ID是12345的Java进程,获取域名 baidu.com 的DNS条目信息
$ dcm -p 12345 get baidu.com
DnsCacheEntry{host='baidu.com', ips=[1.1.1.1], expiration=292278994-08-17 15:12:55.807+0800}
get DONE.
查看全部
$ dcm -p 12345 list
DnsCache{cache=[DnsCacheEntry{host='bar.com', ips=[1.1.1.1], expiration=292278994-08-17 15:12:55.807+0800}, DnsCacheEntry{host='foo.com', ips=[1.1.1.1], expiration=292278994-08-17 15:12:55.807+0800}, DnsCacheEntry{host='baidu.com', ips=[180.149.132.47, 123.125.114.144, 220.181.57.217], expiration=2015-06-03 17:49:42.077+0800}], negativeCache=[]}
list DONE.
$ dcm -p 12345 clear
clear DONE.
# 查看缓存时间,单位秒。-1表示永远缓存,0表示不缓存
$ dcm -p 12345 getPolicy
30
getPolicy DONE.
# 设置缓存时间
$ dcm --pid 12345 setPolicy 5
setPolicy DONE.
# 查看未命中条目的缓存时间,单位秒。-1表示永远缓存,0表示不缓存
$ dcm -p 12345 getNegativePolicy
10
getNegativePolicy DONE.
# 修改未命中条目的缓存时间
$ dcm -p 12345 setNegativePolicy 0
setNegativePolicy DONE.