Class LinuxFileSystem

java.lang.Object
oshi.software.common.AbstractFileSystem
oshi.software.common.os.linux.LinuxFileSystem
All Implemented Interfaces:
FileSystem
Direct Known Subclasses:
LinuxFileSystemNF

@ThreadSafe public abstract class LinuxFileSystem extends AbstractFileSystem
The Linux File System contains OSFileStores which are a storage pool, device, partition, volume, concrete file system or other implementation specific means of file storage. In Linux, these are found in the /proc/mount filesystem, excluding temporary and kernel mounts.
  • Field Details

    • OSHI_LINUX_FS_PATH_EXCLUDES

      public static final String OSHI_LINUX_FS_PATH_EXCLUDES
      Configuration key for path excludes.
      See Also:
    • OSHI_LINUX_FS_PATH_INCLUDES

      public static final String OSHI_LINUX_FS_PATH_INCLUDES
      Configuration key for path includes.
      See Also:
    • OSHI_LINUX_FS_VOLUME_EXCLUDES

      public static final String OSHI_LINUX_FS_VOLUME_EXCLUDES
      Configuration key for volume excludes.
      See Also:
    • OSHI_LINUX_FS_VOLUME_INCLUDES

      public static final String OSHI_LINUX_FS_VOLUME_INCLUDES
      Configuration key for volume includes.
      See Also:
  • Constructor Details

    • LinuxFileSystem

      protected LinuxFileSystem()
      Default constructor.
  • Method Details

    • queryStatvfs

      protected abstract long[] queryStatvfs(String path)
      Queries filesystem statistics for the given mount path.

      Returns an array of [totalInodes, freeInodes, totalSpace, usableSpace, freeSpace], or null on failure (the caller will fall back to File methods for space values).

      Parameters:
      path - the mount path to query
      Returns:
      array of [totalInodes, freeInodes, totalSpace, usableSpace, freeSpace], or null on failure
    • getFileStores

      public List<OSFileStore> getFileStores(boolean localOnly)
      Description copied from interface: FileSystem
      Get file stores on this machine Instantiates a list of OSFileStore objects, representing a storage pool, device, partition, volume, concrete file system or other implementation specific means of file storage.
      Parameters:
      localOnly - If true, filters the list to only local file stores. On Windows, also excluded CD-ROM drives.
      Returns:
      A list of OSFileStore objects or an empty array if none are present.
    • buildUuidMap

      protected static Map<String,String> buildUuidMap()
      Builds a map of filesystem UUIDs to device paths.
      Returns:
      the UUID map
    • getOpenFileDescriptors

      public long getOpenFileDescriptors()
      Description copied from interface: FileSystem
      The current number of open file descriptors. A file descriptor is an abstract handle used to access I/O resources such as files and network connections. On UNIX-based systems there is a system-wide limit on the number of open file descriptors. On Windows systems, this method returns the total number of handles held by Processes. While Windows handles are conceptually similar to file descriptors, they may also refer to a number of non-I/O related objects.
      Returns:
      The number of open file descriptors if available, 0 otherwise.
    • getMaxFileDescriptors

      public long getMaxFileDescriptors()
      Description copied from interface: FileSystem
      The maximum number of open file descriptors. A file descriptor is an abstract handle used to access I/O resources such as files and network connections. On UNIX-based systems there is a system-wide limit on the number of open file descriptors. On Windows systems, this method returns the theoretical max number of handles (2^24-2^15 on 32-bit, 2^24-2^16 on 64-bit). There may be a lower per-process limit. While Windows handles are conceptually similar to file descriptors, they may also refer to a number of non-I/O related objects.
      Returns:
      The maximum number of file descriptors if available, 0 otherwise.
    • getMaxFileDescriptorsPerProcess

      public long getMaxFileDescriptorsPerProcess()
      Description copied from interface: FileSystem
      The maximum number of open file descriptors per process. This returns the upper limit which applies to each process. The actual limit of a process may be lower if configured.
      Returns:
      The maximum number of file descriptors of each process if available, 0 otherwise.