Directory Service cache - Gather information, statistics, initiate queries, flush the cache.
dscacheutil replaces most of the functionality of thelookupd tool provided prior to OS X Leopard.
Syntax dscacheutil -q category [-a key value] dscacheutil -cachedump [-buckets] [-entries [category]] dscacheutil -configuration dscacheutil -flushcache dscacheutil -statistics dscacheutil -h Options -h List the options for calling dscacheutil -q category Initiate a query using standard calls. These calls will either return results from the cache or go fetch live data and place them in the cache. By default if no specific query is requested via -a then all results within that category will be returned. -a key value Optional flag to -q for a specific key with a value. -cachedump Dump an overview of the cache by default. Additional flags will provide more detailed information. -buckets Use in conjunction with -cachedump to also print hash bucket usage of the current cache. -entries [category] Use in conjunction with -cachedump to dump detailed information about cache entries. An optional category can be supplied to only see types of interest. -configuration Print current configuration information, such as the search pol- icy from Directory Service and cache parameters. -flushcache Flush the entire cache. This should only be used in extreme cases. Validation information is used within the cache along with other techniques to ensure the OS has valid information available to it. -statistics Print statistics from the cache including an overview and detailed call statistics. Some calls are not cached but are derived from other calls internally. Cache hits and cache misses are not always be equal to external calls. For example getad- drinfo is actually a combination of gethostbyname with other calls internally to the cache to maximize cache hit rate. Available categories and associated keys: group name or gid host name or ip_address (used for both IPv6 and IPv4) mount name protocol name or number rpc name or number service name or port user name or uid
Examples
Lookup a user:
$ dscacheutil -q user -a name jdoe name: jdoe password: ******** uid: 501 gid: 501 dir: /Users/jdoe shell: /bin/csh gecos: John Doe
Lookup all users:
$ dscacheutil -q user
Dump cache overview:
$ dscacheutil -cachedump
Dump cache details with user entries:
$ dscacheutil -cachedump -entries user
Flush the DNS cache, the mDNSResponder will automatically restart.
# MacOS 10.7, 10.8, and 10.9, 10.10.4 and above: $ sudo killall -HUP mDNSResponder # for older (pre 2009) versions of macOS: # MacOS 10.5 and 10.6: $ sudo dscacheutil -flushcache # MacOS 10.10.1, 10.10.2, and 10.10.3: sudo discoveryutil mdnsflushcache
Tip: You can use an alias to save remembering long commands:
$ alias flushdns='sudo killall -HUP mDNSResponder'
In normal operation, there should be no need to flush DNS entries, if your ISP provided DNS is unreliable, consider using Open DNS ( 208.67.222.222 and 208.67.220.220) and/or Google DNS (8.8.8.8 and 4.4.4.4) as an alternative.
“Keep close to Nature's heart... and break clear away, once in awhile, and climb a mountain or spend a week in the woods. Wash your spirit clean” ~ John Muir
Related macOS commands:
/private/etc/hosts - macOS Hosts file
hostname - Print or set system name
dsmemberutil(1)
Windows equivalent: ipconfig / flushdns