简介
linux本身是没有dns缓存的,想使用dns缓存的话需要自己安装一个服务程序NSCD(name service cache daemon). 
Nscd会缓存libc接口(比如 getpwnam(3), getpwuid(3), getgrnam(3), getgrgid(3), gethostbyname(3))发起的名称服务的请求。
nscd缓存三种服务passwd, group, hosts,所以它会记录三个库,分别对应源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每个库保存两份缓存,一份是找到记录的,一份是没有找到记录的。每一种缓存都保存有生存时间(TTL).
如果您已经在本地缓存了不正确的 DNS 条目,那么您需要清空您的缓存来使 DNS 客户端提出新的 DNS 请求并更新解析结果。当然,您也可以等缓存的 DNS 条目过期以后让系统自动冲掉该条目……这通常需要24个小时。
在 Ubuntu 中冲掉 DNS 缓存的方式是重新启动 nscd 守护程序。

安装
sudo apt-get install nscd //Ubuntu

yum install nscd   //CentOS

这里以在Ubuntu 14.04 64bit上的安装为例, 截图如下:

配置
默认的配置文件是/etc/nscd.conf,通过编辑/etc/nscd.conf文件,在其中增加如下一行可以开启本地DNS cache:
enable-cache hosts yes
配置文件内容如下

相关参数的解释如下:

logfile debug-file-name
指定调试信息写入的文件名。
debug-level value
设置希望的调试级别。
threads number
这是启动的等待请求的线程数。最少将创建5个线程。
server-user user
如果设置了该选项,nscd将作为该用户运行,而不是作为root。如果每个用户都使用一个单独的缓存(-S参数),将忽略该选项。
enable-cache service <yes|no>
启用或禁用制定的 服务 缓存。
positive-time-to-live service value
设置 service 在指定缓存中正的项目(成功的请求)的TTL(存活时间)。 Value 以秒为单位。较大的值将增加缓存命中率从而减低平均响应时间,但是将增加缓存的一致性问题。
negative-time-to-live service value
设置 service 在指定缓存中负的项目(失败的请求)的TTL(存活时间)。 Value 以秒为单位。如果存在由不在系统数据库中的uid(用户ID)(例如在以root身份解包linux 内核源代码时)所拥有的文件将明显改善性能;应该维持较小的值以降低缓存一致性问题。
suggested-size service value
这是内部散列表的大小, value 应该保持一个素数以达到优化效果。
check-files service <yes|no>
启用或禁用检查属于指定 服务 的文件的改变。这些文件是 /etc/passwd, /etc/group, 以及 /etc/hosts。

开启/停止/重启nscd服务
sevices nscd start | stop | restart


nscd 服务查看和清除

默认该服务在redhat或centos下是关闭的,可以通过services nscd start开启。缓存DB文件在/var/db/nscd下。可以通过nscd -g查看统计的信息,这里列出部分:

清除缓存
nscd -i passwd
nscd -i group
nscd -i hosts
除了上面的方法,重启nscd服务同样可以达到清理cache的目的。

如果系统下有nscd,那么就直接
sudo /etc/init.d/nscd restart
如果没有就安装
sudo apt-get install nscd
sudo /etc/init.d/nscd restart

service nscd restart

其实我们也可以直接
sudo /etc/init.d/dns-clean start
来完成的。

参考文献
[1].http://linux.about.com/library/cmd/blcmdl8_nscd.htm

[2].http://www.361way.com/linux-nscd-dns-cache/4265.html

ubuntu 14.04 64 bit上开启nscd服务缓存加速及清除dns缓存相关推荐

  1. Go在Ubuntu 14.04 64位上的安装过程

    1. 从 https://golang.org/dl/  或  https://studygolang.com/dl 下载最新的发布版本go1.10即go1.10.linux-amd64.tar.gz ...

  2. Ubuntu 14.04 64位上安装wps office软件

    废话少说,只给出方法供各位参考!wps for Linux版本已经有两三年没有大的动作,当然其他平台,比如windows,Android,ios上的wps效果还是很赞的说. 下面是我成功安装的步骤: ...

  3. Ubuntu 14.04 64位上安装Valgrind 3.13.0 操作步骤

    关于Valgrind的介绍和使用可以参考: http://blog.csdn.net/fengbingchun/article/details/50196189 在Ubuntu 14.04上可以通过以 ...

  4. Ubuntu 14.04 64位上安装Adobe reader 9.5.5

    首先说明下面的方法本非完美的方案,但是我试验了下,确实可行. 1.从Adobe官网下载最新版的Adobe Reader 9.5.5的deb包,在下面的ftp位置: 2.安装相关依赖库,主要是ia-32 ...

  5. 在Ubuntu 14.04 64位上使用libpcap进行抓包和解包

    为了开发需要,我决定使用最新libpcap源码包安装.在Unix环境下安装libpcap库,需要 c编译器,flex,bison等,安装Ubuntu系统时,没有这些包.安装flex需要m4编译环境,否 ...

  6. Ubuntu 14.04 64位上配置JDK操作步骤

    1. 从  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  下载jdk-8u1 ...

  7. Ubuntu 14.04 64位机上配置Android Studio操作步骤

    Android Studio是一个为Android平台开发程序的集成开发环境.2013年5月16日在Google I/O上发布,可供开发者免费使用.Android Studio基于JetBrains ...

  8. 在Ubuntu 14.04.5 64bit上安装git GUI客户端GitKraken

    git的图像化管理工具很多,有两个是比较推荐用的,sourceTree以及GitKraken.个人比较喜欢GitKraken.下面是我在Ubuntu 14.04.5 64bit上的安装过程. 从官网下 ...

  9. Ubuntu 14.04 64位安装32位兼容包

    问题描述 我的操作系统是64bit版的Ubuntu 14.04,很多32bit的软件无法安装使用,因此希望通过安装32位兼容包解决. 安装过程 在Ubuntu 13.10之前,可以通过安装 ia32- ...

最新文章

  1. 页面切换语言包使用session不用cookie
  2. 避免button处理事件过程中 点击按钮触发事件的方法
  3. WebDev.WebServer 学习
  4. Python入门100题 | 第057题
  5. 剑指offer java 博客_Java--剑指offer(10)
  6. 使用缓冲流有什么好处_使用PVC石笼网有什么好处?
  7. Oracle入门(十四.22)之创建DDL和数据库事件触发器
  8. C++描述杭电OJ 2012. 素数判定 ||
  9. 如何通过网络将文件传输到嵌入式设备_嵌入式系统 Boot Loader技术内幕,带你完全了解Boot Loader...
  10. 在servlet中或者在filter中获取spring容器中的bean
  11. [leetcode]90. 子集 II
  12. 远程复制无法读取源文件或磁盘
  13. 最近服务器总被webshell攻击,木马也非常猖獗
  14. django数据库迁移
  15. python提取图像像素值 行号列号,x,y坐标关系
  16. Android检测手机是否安装app
  17. NestedScrollView 滚动到顶部
  18. 平面设计面试官常问的问题有哪些?
  19. map的put 方法的返回值 null
  20. linux 下dump的使用

热门文章

  1. [NOI 2015]荷马史诗
  2. 汇编寄存器(内存访问)基础知识之三---mov指令
  3. javascript读取XML文档
  4. 《OpenCV3编程入门》学习笔记10 角点检测(二)Shi-Tomasi角点检测
  5. 中文 查询_查询商标,商标注册通过分析的几个小技巧
  6. .npy文件_python如何利用numpy存取文件
  7. php二分搜索,php如何实现二分搜索法
  8. java项目新东方在线源码_基于JSP的在线考试系统-JavaWeb项目-有源码
  9. oracle外键如何创建索引,子表建立外键的索引问题
  10. java一个参数 多个值_Spring里有类似@RequestParam的办法去绑定一个多值参数吧