.\" Copyright (C) 2013 NVIDIA Corporation.
.\"
.\" WARNING: THIS FILE IS AUTO_GENERATED!  Edit nvidia-persistenced.1.m4 instead.
.\" Define the .URL macro and then override it with the www.tmac package if it
.\" exists.
.de URL
\\$2 \(la \\$1 \(ra\\$3
..
.if \n[.g] .mso www.tmac
.TH nvidia\-persistenced 1 "2026-06-03" "nvidia\-persistenced 580.159.04"

.SH NAME
nvidia\-persistenced \- A daemon to maintain persistent software state in the NVIDIA driver.

.SH SYNOPSIS
.BI "nvidia\-persistenced"
.br

.SH DESCRIPTION
The
.B nvidia\-persistenced
utility is used to enable persistent software state in the NVIDIA driver.
When persistence mode is enabled, the daemon prevents the driver from releasing device state when the device is not in use.
This can improve the startup time of new clients in this scenario.
.PP

.SH OPTIONS
.TP
.BI "\-v, \-\-version"
Print the utility version and exit.
.TP
.BI "\-h, \-\-help"
Print usage information for the command line options and exit.
.TP
.BI "\-V, \-\-verbose"
Controls how much information is printed. By default, nvidia\-persistenced will only print errors and warnings to syslog for unexpected events, as well as startup and shutdown notices. Specifying this flag will cause nvidia\-persistenced to also print notices to syslog on state transitions, such as when persistence mode is enabled or disabled, and informational messages on startup and exit.
.TP
.BI "\-u " "USERNAME" ", \-\-user=" "USERNAME"
Runs nvidia\-persistenced with the user permissions of the user specified by the 
.I USERNAME
argument. This user must have write access to the /var/run/nvidia\-persistenced directory. If this directory does not exist, nvidia\-persistenced will attempt to create it prior to changing the process user and group IDs. If this option is not given, nvidia\-persistenced will not attempt to change the process user ID.
.TP
.BI "\-g " "GROUPNAME" ", \-\-group=" "GROUPNAME"
Runs nvidia\-persistenced with the group permissions of the group specified by the 
.I GROUPNAME
argument. If both this option and the \-\-user option are given, this option will take precedence when determining the group ID to use. If this option is not given, nvidia\-persistenced will use the primary group ID of the user specified by the \-\-user option argument. If the \-\-user option is also not given, nvidia\-persistenced will not attempt to change the process group ID.
.TP
.BI "\-\-persistence-mode, \-\-no\-persistence-mode"
By default, nvidia\-persistenced starts with persistence mode enabled for all devices. Use '\-\-no\-persistence\-mode' to force persistence mode off for all devices on startup.
.TP
.BI "\-\-uvm-persistence-mode, \-\-no\-uvm-persistence-mode"
By default, nvidia\-persistenced starts with UVM persistence mode disabled for all devices. Use '\-\-uvm\-persistence\-mode' to force UVM persistence mode for supported devices on startup. When UVM persistence mode is enabled, a GPU cannot enter the PCI\-Express Runtime D3 low\-power state. Refer to the NVIDIA Accelerated Linux Graphics Driver README chapter on PCI\-Express Runtime D3 (RTD3) Power Management. Enabling UVM persistence mode may result in additional GPU memory usage being reported, even when no applications are running.
.TP
.BI "\-\-nvidia-cfg-path=" "PATH"
The nvidia\-cfg library is used to communicate with the NVIDIA kernel module to query and manage GPUs in the system. This library is required by nvidia\-persistenced. This option tells nvidia\-persistenced where to look for this library (in case it cannot find it on its own). This option should normally not be needed.

.SH INSTALLATION
When installed by
.B nvidia\-installer
, sample init scripts to start the daemon for some of the more prevalent init systems are installed as the compressed tarball /usr/share/doc/NVIDIA_GLX-1.0/sample/nvidia-persistenced-init.tar.bz2.
These init scripts should be customized to the user's distribution and installed in the proper location by the user to run 
.B nvidia\-persistenced
on system initialization.
.PP
Once the init script is installed so that the daemon is running, users should not normally need to manually interact with
.B nvidia\-persistenced:
the NVIDIA management utilities, such as
.B nvidia\-smi,
can communicate with it automatically as necessary to manage persistence mode.
.PP
See the "Using the nvidia-persistenced Utility" section of the NVIDIA Linux Graphics Driver README for more background, information about installing the
.B nvidia\-persistenced
utility to run on system initialization, and troubleshooting tips.
.PP

.SH PRIVILEGES
The daemon does not require root privileges to run, and may safely be run as an unprivileged user, given that its runtime directory, /var/run/nvidia-persistenced, is created for and owned by that user prior to starting the daemon.
.B nvidia\-persistenced
also requires read and write access to the NVIDIA character device files.
If the permissions of the device files have been altered through any of the NVreg_DeviceFileUID, NVreg_DeviceFile_GID, or NVreg_DeviceFileMode NVIDIA kernel module options,
.B nvidia\-persistenced
will need to run as a suitable user.
.PP
If the daemon is started with root privileges, the
.B \-\-user
option may be used instead to indicate that the daemon should drop its privileges and run as the specified user after setting up its runtime directory.
Using this option may cause the daemon to be unable to remove the /var/run/nvidia-persistenced directory when it is killed, if the specified user does not have write permissions to /var/run.
In this case, directory removal should be handled by a post-execution script.
See the sample init scripts provided in /usr/share/doc/NVIDIA_GLX-1.0/sample/nvidia-persistenced-init.tar.bz2 for examples of this behavior.
.PP
The daemon indirectly utilizes
.B nvidia\-modprobe
via the nvidia-cfg library to load the NVIDIA kernel module and create the NVIDIA character device files after the daemon has dropped its root privileges, if it had any to begin with.
If
.B nvidia\-modprobe
is not installed, the daemon may not be able to start properly if it is not run with root privileges.
.PP

.SH OTHER
The source code to
.B nvidia\-persistenced
is available here:
.URL https://download.nvidia.com/XFree86/nvidia-persistenced/
.PP

.SH EXAMPLES
.TP
.B nvidia\-persistenced
Starts the NVIDIA Persistence Daemon with persistence mode enabled for all NVIDIA devices.
.TP
.B nvidia\-persistenced \-\-no\-persistence\-mode
Starts the NVIDIA Persistence Daemon with persistence mode disabled for all NVIDIA devices.
.TP
.B nvidia\-persistenced \-\-user=foo
Starts the NVIDIA Persistence Daemon so that it will run as user 'foo'.

.SH AUTHOR
Will Davis
.br
NVIDIA Corporation

.SH SEE ALSO
.BR nvidia\-smi (1),
.BR nvidia\-modprobe (1)

.SH COPYRIGHT
Copyright \(co 2013-2016 NVIDIA Corporation.
