如何在 LinuxUnixMac 下清除 DNS 查询缓存

如何在 LinuxUnixMac 下清除 DNS 查询缓存,第1张

如何: 清除 nscd dns 缓存
Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢,那么nscd能够显著加快连续访问同一数据的速度,并能提高整个系统的性能。只需重启nscd即可刷新缓存:
$ sudo /etc/initd/nscd restart

# service nscd restart

# service nscd reload
这个守护进程给最常用的名称服务请求提供了高速缓存。默认的配置文件/etc/nscdconf,其决定了高速缓存守护进程的行为。
清除 dnsmasq dns 缓存
dnsmasq的是一个轻量级的DNS、TFTP和DHCP服务器。它的目的是给局域网提供配对的DNS和DHCP服务。 dnsmasq接受DNS查询,并从一个小的本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也被安装在很多便宜的路由器上来缓存DNS查询。只需重新启动dnsmasq的服务来清除DNS缓存:
$ sudo /etc/initd/dnsmasq restart
或者
# service dnsmasq restart
清除BIND缓存服务器的dns缓存
一台BIND缓存服务器从另一台服务器(区域主)响应主机的查询而获得信息,然后保存(缓存)数据到本地。您所要做的就是重启BIND以清除其缓存:
# /etc/initd/named restart

怎么清除linux的内存和cache
/proc是一个虚拟文件系统,我们可以通过对它的读写 *** 作做为与kernel实体间进行通信的一种手段也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整那么我们可以通过调整/proc/sys/vm /drop_caches来释放内存 *** 作如下:
[root@server test]# cat /proc/sys/vm/drop_caches
0
首先,/proc/sys/vm/drop_caches的值,默认为0
[root@server test]# sync
手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)
[root@server test]# echo 3 > /proc/sys/vm/drop_caches
[root@server test]# cat /proc/sys/vm/drop_caches
3
将/proc/sys/vm/drop_caches值设为3
[root@server test]# free -m
total used free shared buffers cached
Mem: 249 66 182 0 0 11
-/+ buffers/cache: 55 194
Swap: 511 0 511
再来运行free命令,发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB那么有效的释放了buffer和cache
有关/proc/sys/vm/drop_caches的用法在下面进行了说明
/proc/sys/vm/drop_caches (since Linux 2616)
Writing to this file causes the kernel to drop clean caches,
dentries and inodes from memory, causing that memory to become
free
To free pagecache, use echo 1 > /proc/sys/vm/drop_caches; to
free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 >
/proc/sys/vm/drop_caches
Because this is a non-destructive operation and dirty objects
are not freeable, the user should run sync(8) first

工具/原料

电脑 

方法/步骤

1、首先,在电脑桌面,右击“开始”图标,点击“运行”。

2、也可直接按下快捷键“Win+R”键,打开运行窗口。

3、在运行窗口的输入框中,输入“Cmd”,点击“确定”。

4、d出新窗口,在命令框中输入“ipconfig/flushdns”,按下电脑键盘上的回车键 (Enter),清除DNS缓存完成。

Linux下DNS缓存实现通常有两种方式:
一种是用DNS缓存程序NSCD(name service cache daemon)负责管理DNS缓存。
一种实现DNS缓存则是用Bind来架设Caching Name Server来实现。
如果是清除NSCD上的Cache,可重新启动NSCD服务来达成清除DNS Cache的效果。用这个命令:
# service nscd restart
或是
#/etc/initd/nscd restart
如果是清除BIND服务器上的CACHE,用这个命令:
# rndc flush
如果你的DNS服务器是用dnsmasq实现的,用下面这个命令:
$ sudo /etc/initd/dnsmasq restart
注:DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10275516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存