19b50d902SRodney W. Grimes.\" Copyright (c) 1987, 1991, 1993 29b50d902SRodney W. Grimes.\" The Regents of the University of California. All rights reserved. 39b50d902SRodney W. Grimes.\" 49b50d902SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without 59b50d902SRodney W. Grimes.\" modification, are permitted provided that the following conditions 69b50d902SRodney W. Grimes.\" are met: 79b50d902SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright 89b50d902SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer. 99b50d902SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright 109b50d902SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer in the 119b50d902SRodney W. Grimes.\" documentation and/or other materials provided with the distribution. 12fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors 139b50d902SRodney W. Grimes.\" may be used to endorse or promote products derived from this software 149b50d902SRodney W. Grimes.\" without specific prior written permission. 159b50d902SRodney W. Grimes.\" 169b50d902SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 179b50d902SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 189b50d902SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 199b50d902SRodney W. Grimes.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 209b50d902SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 219b50d902SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 229b50d902SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 239b50d902SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 249b50d902SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 259b50d902SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 269b50d902SRodney W. Grimes.\" SUCH DAMAGE. 279b50d902SRodney W. Grimes.\" 287e9e52e7SFernando Apesteguía.Dd November 19, 2020 299b50d902SRodney W. Grimes.Dt FSTAT 1 3062500372SRuslan Ermilov.Os 319b50d902SRodney W. Grimes.Sh NAME 329b50d902SRodney W. Grimes.Nm fstat 3390eca7b6SGarrett Wollman.Nd identify active files 349b50d902SRodney W. Grimes.Sh SYNOPSIS 358fe908efSRuslan Ermilov.Nm 3691ad311bSJeremie Le Hen.Op Fl fmnsv 379b50d902SRodney W. Grimes.Op Fl M Ar core 389b50d902SRodney W. Grimes.Op Fl N Ar system 399b50d902SRodney W. Grimes.Op Fl p Ar pid 409b50d902SRodney W. Grimes.Op Fl u Ar user 4191966d21SPhilippe Charnier.Op Ar 429b50d902SRodney W. Grimes.Sh DESCRIPTION 43e8937ba0SPhilippe CharnierThe 44e8937ba0SPhilippe Charnier.Nm 45e8937ba0SPhilippe Charnierutility identifies open files. 469b50d902SRodney W. GrimesA file is considered open by a process if it was explicitly opened, 476b020622SPoul-Henning Kampis the working directory, root directory, jail root directory, 486b020622SPoul-Henning Kampactive executable text, or kernel trace file for that process. 499b50d902SRodney W. GrimesIf no options are specified, 508fe908efSRuslan Ermilov.Nm 517e9e52e7SFernando Apesteguíareports on all open files in the system for processes the user has access to. 529b50d902SRodney W. Grimes.Pp 532a00e8eaSPhilippe CharnierThe following options are available: 5478ef7913SMateusz Piotrowski.Bl -tag -width "-N system" 559b50d902SRodney W. Grimes.It Fl f 569b50d902SRodney W. GrimesRestrict examination to files open in the same file systems as 579b50d902SRodney W. Grimesthe named file arguments, or to the file system containing the 589b50d902SRodney W. Grimescurrent directory if there are no additional filename arguments. 599b50d902SRodney W. GrimesFor example, to find all files open in the file system where the 609b50d902SRodney W. Grimesdirectory 619b50d902SRodney W. Grimes.Pa /usr/src 629b50d902SRodney W. Grimesresides, type 6378ef7913SMateusz Piotrowski.Ql fstat -f /usr/src . 6478ef7913SMateusz Piotrowski.It Fl M Ar core 659b50d902SRodney W. GrimesExtract values associated with the name list from the specified core 669b50d902SRodney W. Grimesinstead of the default 679b50d902SRodney W. Grimes.Pa /dev/kmem . 68d0482be8SBrian Feldman.It Fl m 69d0482be8SBrian FeldmanInclude memory-mapped files in the listing; normally these are excluded 70d0482be8SBrian Feldmandue to the extra processing required. 7178ef7913SMateusz Piotrowski.It Fl N Ar system 7278ef7913SMateusz PiotrowskiExtract the name list from the specified system instead of the default, 7378ef7913SMateusz Piotrowskiwhich is the kernel image the system has booted from. 749b50d902SRodney W. Grimes.It Fl n 756a3e8b0aSRuslan ErmilovNumerical format. 766a3e8b0aSRuslan ErmilovPrint the device number (maj,min) of the file system 779b50d902SRodney W. Grimesthe file resides in rather than the mount point name; for special 789b50d902SRodney W. Grimesfiles, print the 799b50d902SRodney W. Grimesdevice number that the special device refers to rather than the filename 809b50d902SRodney W. Grimesin 819b50d902SRodney W. Grimes.Pa /dev ; 829b50d902SRodney W. Grimesand print the mode of the file in octal instead of symbolic form. 8378ef7913SMateusz Piotrowski.It Fl p Ar pid 849b50d902SRodney W. GrimesReport all files open by the specified process. 8591ad311bSJeremie Le Hen.It Fl s 8691ad311bSJeremie Le HenPrint socket endpoint information. 8778ef7913SMateusz Piotrowski.It Fl u Ar user 889b50d902SRodney W. GrimesReport all files open by the specified user. 899b50d902SRodney W. Grimes.It Fl v 906a3e8b0aSRuslan ErmilovVerbose mode. 916a3e8b0aSRuslan ErmilovPrint error messages upon failures to locate particular 926a3e8b0aSRuslan Ermilovsystem data structures rather than silently ignoring them. 936a3e8b0aSRuslan ErmilovMost of 949b50d902SRodney W. Grimesthese data structures are dynamically created or deleted and it is 959b50d902SRodney W. Grimespossible for them to disappear while 968fe908efSRuslan Ermilov.Nm 976a3e8b0aSRuslan Ermilovis running. 986a3e8b0aSRuslan ErmilovThis 999b50d902SRodney W. Grimesis normal and unavoidable since the rest of the system is running while 1008fe908efSRuslan Ermilov.Nm 1019b50d902SRodney W. Grimesitself is running. 10291966d21SPhilippe Charnier.It Ar 1039b50d902SRodney W. GrimesRestrict reports to the specified files. 1049b50d902SRodney W. Grimes.El 1059b50d902SRodney W. Grimes.Pp 1069b50d902SRodney W. GrimesThe following fields are printed: 1079b50d902SRodney W. Grimes.Bl -tag -width MOUNT 10878ef7913SMateusz Piotrowski.It Sy USER 1099b50d902SRodney W. GrimesThe username of the owner of the process (effective uid). 11078ef7913SMateusz Piotrowski.It Sy CMD 1119b50d902SRodney W. GrimesThe command name of the process. 11278ef7913SMateusz Piotrowski.It Sy PID 1139b50d902SRodney W. GrimesThe process id. 11478ef7913SMateusz Piotrowski.It Sy FD 1159b50d902SRodney W. GrimesThe file number in the per-process open file table or one of the following 1169b50d902SRodney W. Grimesspecial names: 1179b50d902SRodney W. Grimes.Pp 1187e9e52e7SFernando Apesteguía.Bl -tag -width jail -offset indent -compact 11978ef7913SMateusz Piotrowski.It Sy jail 12078ef7913SMateusz Piotrowskijail root directory 12178ef7913SMateusz Piotrowski.It Sy mmap 12278ef7913SMateusz Piotrowskimemory-mapped file 12378ef7913SMateusz Piotrowski.It Sy root 12478ef7913SMateusz Piotrowskiroot inode 12578ef7913SMateusz Piotrowski.It Sy text 12678ef7913SMateusz Piotrowskiexecutable text inode 12778ef7913SMateusz Piotrowski.It Sy tr 12878ef7913SMateusz Piotrowskikernel trace file 12978ef7913SMateusz Piotrowski.It Sy wd 13078ef7913SMateusz Piotrowskicurrent working directory 13178ef7913SMateusz Piotrowski.El 1329b50d902SRodney W. Grimes.Pp 13378ef7913SMateusz PiotrowskiIf the file number is followed by an asterisk 13478ef7913SMateusz Piotrowski.Pq Ql * , 13578ef7913SMateusz Piotrowskithe file is 13678ef7913SMateusz Piotrowskinot an inode, but rather a socket, FIFO, or there is an error. 1370227791bSRuslan ErmilovIn this case the remainder of the line does not 13878ef7913SMateusz Piotrowskicorrespond to the remaining headers\(em the format of the line 1399b50d902SRodney W. Grimesis described later under 1406e679990SPawel Jakub Dawidek.Sx SOCKETS . 14178ef7913SMateusz Piotrowski.It Sy MOUNT 1429b50d902SRodney W. GrimesIf the 1439b50d902SRodney W. Grimes.Fl n 1440227791bSRuslan Ermilovflag was not specified, this header is present and is the 1459b50d902SRodney W. Grimespathname that the file system the file resides in is mounted on. 14678ef7913SMateusz Piotrowski.It Sy DEV 1479b50d902SRodney W. GrimesIf the 1489b50d902SRodney W. Grimes.Fl n 1499b50d902SRodney W. Grimesflag is specified, this header is present and is the 1509f365aa1SEd Schoutennumber of the device that this file resides in. 15178ef7913SMateusz Piotrowski.It Sy INUM 1529b50d902SRodney W. GrimesThe inode number of the file. 15378ef7913SMateusz Piotrowski.It Sy MODE 1546a3e8b0aSRuslan ErmilovThe mode of the file. 1556a3e8b0aSRuslan ErmilovIf the 1569b50d902SRodney W. Grimes.Fl n 1570227791bSRuslan Ermilovflag is not specified, the mode is printed 1589b50d902SRodney W. Grimesusing a symbolic format (see 1599b50d902SRodney W. Grimes.Xr strmode 3 ) ; 1609b50d902SRodney W. Grimesotherwise, the mode is printed 1619b50d902SRodney W. Grimesas an octal number. 16278ef7913SMateusz Piotrowski.It Sy SZ\&|DV 163958aa575SJohn BaldwinIf the file is a semaphore, 164958aa575SJohn Baldwinprints the current value of the semaphore. 1659b50d902SRodney W. GrimesIf the file is not a character or block special, prints the size of 1666a3e8b0aSRuslan Ermilovthe file in bytes. 1676a3e8b0aSRuslan ErmilovOtherwise, if the 1689b50d902SRodney W. Grimes.Fl n 1699b50d902SRodney W. Grimesflag is not specified, prints 1709b50d902SRodney W. Grimesthe name of the special file as located in 1719b50d902SRodney W. Grimes.Pa /dev . 1729b50d902SRodney W. GrimesIf that cannot be 1739b50d902SRodney W. Grimeslocated, or the 1749b50d902SRodney W. Grimes.Fl n 1759b50d902SRodney W. Grimesflag is specified, prints the major/minor device 1769b50d902SRodney W. Grimesnumber that the special device refers to. 17778ef7913SMateusz Piotrowski.It Sy R/W 1789b50d902SRodney W. GrimesThis column describes the access mode that the file allows. 17978ef7913SMateusz PiotrowskiThe letter 18078ef7913SMateusz Piotrowski.Ql r 18178ef7913SMateusz Piotrowskiindicates open for reading; 18278ef7913SMateusz Piotrowskithe letter 18378ef7913SMateusz Piotrowski.Ql w 18478ef7913SMateusz Piotrowskiindicates open for writing. 1859b50d902SRodney W. GrimesThis field is useful when trying to find the processes that are 1869b50d902SRodney W. Grimespreventing a file system from being down graded to read-only. 18778ef7913SMateusz Piotrowski.It Sy NAME 1889b50d902SRodney W. GrimesIf filename arguments are specified and the 1899b50d902SRodney W. Grimes.Fl f 1909b50d902SRodney W. Grimesflag is not, then 1919b50d902SRodney W. Grimesthis field is present and is the name associated with the given file. 1929b50d902SRodney W. GrimesNormally the name cannot be determined since there is no mapping 1939b50d902SRodney W. Grimesfrom an open file back to the directory entry that was used to open 1946a3e8b0aSRuslan Ermilovthat file. 1956a3e8b0aSRuslan ErmilovAlso, since different directory entries may reference 1969b50d902SRodney W. Grimesthe same file (via 197906c1e27SMike Pritchard.Xr ln 1 ) , 1989b50d902SRodney W. Grimesthe name printed may not be the actual 1999b50d902SRodney W. Grimesname that the process originally used to open that file. 2009b50d902SRodney W. Grimes.El 2019b50d902SRodney W. Grimes.Sh SOCKETS 202f6ac2391SJoel DahlThe formatting of open sockets depends on the protocol domain. 2039b50d902SRodney W. GrimesIn all cases the first field is the domain name, the second field 20478ef7913SMateusz Piotrowskiis the socket type (stream, dgram, etc.), and the third is the socket 2059b50d902SRodney W. Grimesflags field (in hex). 2069b50d902SRodney W. GrimesThe remaining fields are protocol dependent. 20778ef7913SMateusz PiotrowskiFor TCP, it is the address of the tcpcb, and for UDP, the inpcb (socket pcb). 20878ef7913SMateusz PiotrowskiFor UNIX-domain sockets, its the address of the socket pcb and the address 2099b50d902SRodney W. Grimesof the connected pcb (if connected). 2109b50d902SRodney W. GrimesOtherwise the protocol number and address of the socket itself are printed. 2119b50d902SRodney W. Grimes.Pp 2129b50d902SRodney W. GrimesFor example, the addresses mentioned above are the addresses which the 21378ef7913SMateusz Piotrowski.Ql netstat -A 21478ef7913SMateusz Piotrowskicommand would print for TCP, UDP, and UNIX-domain. 2159b50d902SRodney W. GrimesNote that since pipes are implemented using sockets, a pipe appears as a 21678ef7913SMateusz Piotrowskiconnected UNIX-domain stream socket. 21778ef7913SMateusz PiotrowskiA unidirectional UNIX-domain socket indicates the direction of flow with 21878ef7913SMateusz Piotrowskian arrow 21978ef7913SMateusz Piotrowski.Po Ql <- 22078ef7913SMateusz Piotrowskior 22178ef7913SMateusz Piotrowski.Ql -> 22278ef7913SMateusz Piotrowski.Pc , 22378ef7913SMateusz Piotrowskiand a full duplex socket shows a double arrow 22478ef7913SMateusz Piotrowski.Pq Ql <-> . 22591ad311bSJeremie Le Hen.Pp 22691ad311bSJeremie Le HenWhen the 22791ad311bSJeremie Le Hen.Fl s 22891ad311bSJeremie Le Henflag is used, socket endpoint information is shown after the address of the 22991ad311bSJeremie Le Hensocket. 2306f42902dSJeremie Le HenFor internet sockets the local and remote addresses are shown, separated with 23178ef7913SMateusz Piotrowskia double arrow 23278ef7913SMateusz Piotrowski.Pq Ql <-> . 23378ef7913SMateusz PiotrowskiFor UNIX/local sockets either the local or remote address is shown, depending 23491ad311bSJeremie Le Henon which one is available. 2357e9e52e7SFernando Apesteguía.Sh EXIT STATUS 2367e9e52e7SFernando Apesteguía.Ex -std 2377e9e52e7SFernando Apesteguía.Sh EXAMPLES 2387e9e52e7SFernando ApesteguíaShow all open files except those opened by 2397e9e52e7SFernando Apesteguía.Nm 2407e9e52e7SFernando Apesteguíaitself: 2417e9e52e7SFernando Apesteguía.Bd -literal -offset indent 2427e9e52e7SFernando Apesteguía$ fstat | awk '$2 != "fstat"' 2437e9e52e7SFernando ApesteguíaUSER CMD PID FD MOUNT INUM MODE SZ|DV R/W 2447e9e52e7SFernando Apesteguíaalice bash 469 text /usr/local 143355 -rwxr-xr-x 1166448 r 2457e9e52e7SFernando Apesteguíaalice bash 469 ctty /dev 346 crw--w---- pts/81 rw 2467e9e52e7SFernando Apesteguía\&... 2477e9e52e7SFernando Apesteguía.Ed 2487e9e52e7SFernando Apesteguía.Pp 2497e9e52e7SFernando ApesteguíaReport all files opened by the current shell in the same file system as 2507e9e52e7SFernando Apesteguía.Pa /usr/local 2517e9e52e7SFernando Apesteguíaincluding memory-mapped files: 2527e9e52e7SFernando Apesteguía.Bd -literal -offset indent 2537e9e52e7SFernando Apesteguía$ fstat -m -p $$ -f /usr/local 2547e9e52e7SFernando ApesteguíaUSER CMD PID FD MOUNT INUM MODE SZ|DV R/W 2557e9e52e7SFernando Apesteguíabob bash 469 text /usr/local 143355 -rwxr-xr-x 1166448 r 2567e9e52e7SFernando Apesteguíabob bash 469 mmap /usr/local 143355 -rwxr-xr-x 1166448 r 2577e9e52e7SFernando Apesteguía\&... 2587e9e52e7SFernando Apesteguía.Ed 2597e9e52e7SFernando Apesteguía.Pp 2607e9e52e7SFernando ApesteguíaRequesting information about a file that is not opened results in just a 2617e9e52e7SFernando Apesteguíaheader line instead of an error: 2627e9e52e7SFernando Apesteguía.Bd -literal -offset indent 2637e9e52e7SFernando Apesteguía$ fstat /etc/rc.conf 2647e9e52e7SFernando ApesteguíaUSER CMD PID FD MOUNT INUM MODE SZ|DV R/W NAME 2657e9e52e7SFernando Apesteguía.Ed 2667e9e52e7SFernando Apesteguía.Pp 2677e9e52e7SFernando ApesteguíaAll parameters after 2687e9e52e7SFernando Apesteguía.Fl f 2697e9e52e7SFernando Apesteguíawill be interpreted as files, so the following will not work as expected: 2707e9e52e7SFernando Apesteguía.Bd -literal -offset indent 2717e9e52e7SFernando Apesteguía$ fstat -f /usr/local -m -p $$ 2727e9e52e7SFernando Apesteguíafstat: -m: No such file or directory 2737e9e52e7SFernando Apesteguíafstat: -p: No such file or directory 2747e9e52e7SFernando Apesteguíafstat: 469: No such file or directory 2757e9e52e7SFernando Apesteguía\&... 2767e9e52e7SFernando Apesteguía.Ed 2777e9e52e7SFernando Apesteguía.Pp 2787e9e52e7SFernando ApesteguíaShow number of pipes opened by firefox processes: 2797e9e52e7SFernando Apesteguía.Bd -literal -offset indent 2807e9e52e7SFernando Apesteguía$ fstat | awk '$2=="firefox" && $5=="pipe"' | wc -l 2817e9e52e7SFernando Apesteguía.Ed 2827e9e52e7SFernando Apesteguía.Pp 2837e9e52e7SFernando ApesteguíaShow processes belonging to user 2847e9e52e7SFernando Apesteguía.Dq bob 2857e9e52e7SFernando Apesteguíawhose standard error descriptor is opened in ttyv0: 2867e9e52e7SFernando Apesteguía.Bd -literal -offset indent 2877e9e52e7SFernando Apesteguía$ fstat -u bob | awk '$4 == 2 && $8 == "ttyv0"' 2887e9e52e7SFernando Apesteguíabob firefox 77842 2 /dev 103 crw------- ttyv0 rw 2897e9e52e7SFernando Apesteguíabob xinit 1194 2 /dev 103 crw------- ttyv0 rw 2907e9e52e7SFernando Apesteguía\&... 2917e9e52e7SFernando Apesteguía.Ed 2927e9e52e7SFernando Apesteguía.Pp 2937e9e52e7SFernando ApesteguíaShow opened TCP sockets. 2947e9e52e7SFernando ApesteguíaThis output resembles the one produced by 2957e9e52e7SFernando Apesteguía.Ql netstat -A -p tcp 2967e9e52e7SFernando Apesteguía: 2977e9e52e7SFernando Apesteguía.Bd -literal -offset indent 2987e9e52e7SFernando Apesteguía$ fstat | awk '$7 == "tcp"' 2997e9e52e7SFernando Apesteguíaalice firefox 77991 32* internet stream tcp fffff800b7f147a0 3007e9e52e7SFernando Apesteguíaalice firefox 77991 137* internet stream tcp fffff800b7f12b70 3017e9e52e7SFernando Apesteguía\&... 3027e9e52e7SFernando Apesteguía.Ed 3037e9e52e7SFernando Apesteguía.Pp 3047e9e52e7SFernando ApesteguíaShow a list of processes with files opened in the current directory 3057e9e52e7SFernando Apesteguíamimicking the output of 3067e9e52e7SFernando Apesteguía.Xr fuser 1 3077e9e52e7SFernando Apesteguía: 3087e9e52e7SFernando Apesteguía.Bd -literal -offset indent 3097e9e52e7SFernando Apesteguía$ fstat . | awk 'NR > 1 {printf "%d%s(%s) ", $3, $4, $1;}' 3107e9e52e7SFernando Apesteguía2133wd(alice) 2132wd(alice) 1991wd(alice) 3117e9e52e7SFernando Apesteguía.Ed 3127e9e52e7SFernando Apesteguía.Pp 313*0ba51e3bSYu-Hsun ChenCreate a list of processes sorted by number of opened files in descending order: 3147e9e52e7SFernando Apesteguía.Bd -literal -offset indent 3157e9e52e7SFernando Apesteguía$ fstat | awk 'NR > 1 {print $2;}' | sort | uniq -c | sort -r 3167e9e52e7SFernando Apesteguía 728 firefox 3177e9e52e7SFernando Apesteguía 23 bash 3187e9e52e7SFernando Apesteguía 14 sort 3197e9e52e7SFernando Apesteguía 8 fstat 3207e9e52e7SFernando Apesteguía 7 awk 3217e9e52e7SFernando Apesteguía.Ed 3229b50d902SRodney W. Grimes.Sh SEE ALSO 32378ef7913SMateusz Piotrowski.Xr fuser 1 , 3249b50d902SRodney W. Grimes.Xr netstat 1 , 3259b50d902SRodney W. Grimes.Xr nfsstat 1 , 326e5002279SEdward Tomasz Napierala.Xr procstat 1 , 3279b50d902SRodney W. Grimes.Xr ps 1 , 3285ff829fdSSheldon Hearn.Xr sockstat 1 , 3299b50d902SRodney W. Grimes.Xr systat 1 , 3305ff829fdSSheldon Hearn.Xr tcp 4 , 3315ff829fdSSheldon Hearn.Xr unix 4 , 3329b50d902SRodney W. Grimes.Xr iostat 8 , 333270d3d75SMike Pritchard.Xr pstat 8 , 334270d3d75SMike Pritchard.Xr vmstat 8 3359b50d902SRodney W. Grimes.Sh HISTORY 3369b50d902SRodney W. GrimesThe 3379b50d902SRodney W. Grimes.Nm 3389b50d902SRodney W. Grimescommand appeared in 3399b50d902SRodney W. Grimes.Bx 4.3 tahoe . 3406c7216dfSRuslan Ermilov.Sh BUGS 3416c7216dfSRuslan ErmilovSince 3426c7216dfSRuslan Ermilov.Nm 3436c7216dfSRuslan Ermilovtakes a snapshot of the system, it is only correct for a very short period 3446c7216dfSRuslan Ermilovof time. 345