# disksup

### MODULE

disksup

### MODULE SUMMARY

A Disk Supervisor Process

### DESCRIPTION

`disksup` is a process which supervises the available disk space in the system. It is part of the OS_Mon application, see os_mon(6). Available for Unix and Windows.

Periodically checks the disks. For each disk or partition which uses more than a certain amount of the available space, the alarm `{{disk_almost_full, MountedOn}, []}` is set.

On Unix
  All (locally) mounted disks are checked, including the swap disk if it is present.
On WIN32
  All logical drives of type "FIXED_DISK" are checked.

Alarms are reported to the SASL alarm handler, see alarm_handler(3). To set an alarm, `alarm_handler:set_alarm(Alarm)` is called where `Alarm` is the alarm specified above.

The alarms are cleared automatically when the alarm cause is no longer valid.

### Configuration

The following configuration parameters can be used to change the default values for time interval and threshold:

`disk_space_check_interval = int()>0`
  The time interval, in minutes, for the periodic disk space check. The default is 30 minutes.
`disk_almost_full_threshold = float()`
  The threshold, as percentage of total disk space, for how much disk can be utilized before the `disk_almost_full` alarm is set. The default is 0.80 (80%).

See config(4) for information about how to change the value of configuration parameters.

### EXPORTS

`get_disk_data() -> [DiskData]`

Types:

`DiskData = {Id, KByte, Capacity}`
`Id = string()`
`KByte = int()`
`Capacity = int()`

Returns the result of the latest disk check. `Id` is a string that identifies the disk or partition. `KByte` is the total size of the disk or partition in kbytes. `Capacity` is the percentage of disk space used.

The function is asynchronous in the sense that it does not invoke a disk check, but returns the latest available value.

Returns `[{"none",0,0}]` if `disksup` is not available.

`get_check_interval() -> MS`

Types:

`MS = int()`

Returns the time interval, in milliseconds, for the periodic disk space check.

`set_check_interval(Minutes) -> ok`

Types:

`Minutes = int()>=1`

Changes the time interval, given in minutes, for the periodic disk space check.

The change will take effect after the next disk space check and is non-persistant. That is, in case of a process restart, this value is forgotten and the default value will be used. See Configuration above.

`get_almost_full_threshold() -> Percent`

Types:

`Percent = int()`

Returns the threshold, in percent, for disk space utilization.

`set_almost_full_threshold(Float) -> ok`

Types:

`Float = float(), 0=<Float=<1`

Changes the threshold, given as a float, for disk space utilization.

The change will take effect during the next disk space check and is non-persistant. That is, in case of a process restart, this value is forgotten and the default value will be used. See Configuration above.

### See Also

alarm_handler(3), os_mon(3)

### AUTHORS

Martin Björklund - support@erlang.ericsson.se
Peter Högfeldt - support@erlang.ericsson.se

os_mon 2.1
Copyright © 1991-2006 Ericsson AB