非常教程

Erlang 20参考手册

os_mon

disksup

模块

disksup

模块摘要

磁盘管理器进程

描述

disksup是一个监督系统中可用磁盘空间的进程。它是OS_Mon应用程序的一部分,请参阅os_mon(6)。适用于Unix和Windows。

定期检查磁盘。对于每个使用超过一定数量可用空间的磁盘或分区,警报{{disk_almost_full, MountedOn}, []}已经设定好了。

在Unix上

检查所有(本地)安装的磁盘,包括交换磁盘(如果存在)。

关于Win 32

所有类型为“FIXED_DISK”的逻辑驱动器都会被检查。

报警报告给SASL报警处理程序,请参阅alarm_handler(3)。要设置闹钟,alarm_handler:set_alarm(Alarm)称为Alarm上面指定的闹钟。

当警报原因不再有效时,警报将自动清除。

配置

以下配置参数可用于更改时间间隔和阈值的默认值:

disk_space_check_interval = int()>0

周期性磁盘空间检查的时间间隔(分钟)。默认值是30分钟。

disk_almost_full_threshold = float()

disk_almost_full设置警报之前,阈值(占总磁盘空间的百分比)表示可以使用多少磁盘。默认值是0.80(80%)。

disksup_posix_only = bool()

指定disksup助手进程是否应该只使用POSIX一致性命令(true)或不使用。默认是falsetrue在使用精简版Unix工具的嵌入式系统上设置这个参数是必要的df。使用此选项时,返回的磁盘数据和警报可能会有所不同。

在已知不兼容POSIX的平台(Windows和SunOS)上忽略该参数。

请参阅config(4)有关如何更改配置参数值的信息。

输出

get_disk_data() -> [DiskData]

类型

返回最新磁盘检查的结果。Id是标识磁盘或分区的字符串。KByte是磁盘或分区的总大小(以千字节为单位)。Capacity是使用的磁盘空间的百分比。

该函数在不调用磁盘检查的意义上是异步的,但返回最新的可用值。

如果disksup不可用,则返回[{"none",0,0}]

get_check_interval() -> MS

类型

返回定期磁盘空间检查的时间间隔(以毫秒为单位)。

set_check_interval(Minutes) -> ok

类型

更改定期磁盘空间检查的时间间隔(以分钟为单位)。

更改将在下次磁盘空间检查后生效并且不会持续存在。也就是说,在进程重启的情况下,该值被遗忘,并使用默认值。见Configuration

get_almost_full_threshold() -> Percent

类型

返回磁盘空间利用率的百分比阈值。

set_almost_full_threshold(Float) -> ok

类型

更改磁盘空间利用率的阈值(以浮点形式给出)。

更改将在下一次磁盘空间检查期间生效,且不持久化。也就是说,在进程重新启动的情况下,该值将被遗忘,并将使用默认值。见Configuration上面。

另见

alarm_handler(3),,,os_mon(3)

Erlang 20

Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。

主页 https://www.erlang.org/
源码 https://github.com/erlang/otp
版本 20
发布版本 20.1