---
name: "nscd"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/nscd/8"
---

# nscd(8)

name service caching daemon

## NAME

**nscd** – name service caching daemon

## SYNOPSIS

**nscd** \[**-dnst**\] \[**-i** *cachename*\] \[**-I** *cachename*\]

## DESCRIPTION

The **nscd** utility is the system caching daemon. It can cache almost all types of data and is basically intended to be used with the **nsswitch** subsystem. The cache is actually per-user. This means that each user can work only with the cached data that were cached by themselves, and cannot poison the cache of other users. The **nscd** utility supports two types of caching:

- **Type**

  **Description**

- Common caching

  Each cached element is the key+value pair. This type of caching supports policies which are applied when maximum number of cached elements is exceeded. Three policies are available: **FIFO** (first in - first out), **LRU** (least recently used) and **LFU** (least frequently used). This type of caching is used with the **getXXXbyname**() family of functions.

- Multipart caching

  Each cached element is the part of the elements sequence. This type of caching is intended to be used with the **getXXXent**() family of functions.

The **nscd** utility is able not only to cache elements, but to perform the actual nsswitch lookups by itself. To enable this feature, use the *perform-actual-lookups* parameter in [nscd.conf(5)](/nscd.conf/5.md).

The **nscd** utility recognizes the following runtime options:

- **-n**

  Do not daemonize; **nscd** will not fork or disconnect itself from the terminal.

- **-s**

  Single-threaded mode. Forces using only one thread for all processing purposes (it overrides the *threads* parameter in the [nscd.conf(5)](/nscd.conf/5.md) file).

- **-t**

  Trace mode. All trace messages will be written to stdout. This mode is usually used with **-n** and **-s** flags are used for debugging purposes.

- **-i** *cachename*

  Invalidates personal cache. When specified, **nscd** acts as the administration tool. It asks the already running **nscd** to invalidate the specified part of the cache of the calling user. For example, sometimes you may want to invalidate your “hosts” cache. You can specify “all” as the *cachename* to invalidate your personal cache as a whole. You cannot use this option for the *cachename* for which the *perform-actual-lookups* option is enabled.

- **-I** *cachename*

  Invalidates the cache for every user. When specified, **nscd** acts as the administration tool. It asks the already running **nscd** to invalidate the specified part of the cache for every user. You can specify “all” as the *cachename* to invalidate the whole cache. Only the root can use this option.

## FILES

- */etc/nscd.conf*

  The default configuration file.

## SEE ALSO

[nsdispatch(3)](/nsdispatch/3.md), [nscd.conf(5)](/nscd.conf/5.md), [nsswitch.conf(5)](/nsswitch.conf/5.md)

## AUTHORS

Michael Bushkov ⟨*bushman@FreeBSD.org*⟩
