Manpages

名 前

sysinfo − シ ス テ ム 全 体 の 統 計 情 報 を 返 す 。

書 式

#include <sys/sysinfo.h>

int sysinfo(struct sysinfo *info);

説 明

Linux 2.3.16 ま で は sysinfo() は 以 下 の 構 造 体 に 情 報 を 入 れ て 返 す 。

struct sysinfo {
long uptime; /* Seconds since boot */
unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
unsigned long totalram; /* Total usable main memory size */
unsigned long freeram; /* Available memory size */
unsigned long sharedram; /* Amount of shared memory */
unsigned long bufferram; /* Memory used by buffers */
unsigned long totalswap; /* Total swap space size */
unsigned long freeswap; /* swap space still available */
unsigned short procs; /* Number of current processes */
char _f[22]; /* Pads structure to 64 bytes */ }; こ こ で バ イ ト 単 位 で 与 え ら れ る 。

Linux 2.3.23 (i386)、 2.3.48 (全 て の ア ー キ テ ク チ ャ ー ) か ら は 構 造 体 は

struct sysinfo {
long uptime; /* Seconds since boot */
unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
unsigned long totalram; /* Total usable main memory size */
unsigned long freeram; /* Available memory size */
unsigned long sharedram; /* Amount of shared memory */
unsigned long bufferram; /* Memory used by buffers */
unsigned long totalswap; /* Total swap space size */
unsigned long freeswap; /* swap space still available */
unsigned short procs; /* Number of current processes */
unsigned long totalhigh; /* Total high memory size */
unsigned long freehigh; /* Available high memory size */
unsigned int mem_unit; /* Memory unit size in bytes */
char _f[20−2*sizeof(long)−sizeof(int)]; /* Padding to 64 bytes */ }; と な り 、 大 き さ は mem_unit バ イ ト の 倍 数 で 与 え ら れ る 。

sysinfo() は シ ス テ ム 全 体 の 統 計 を 取 得 す る 簡 単 な 方 法 を 提 供 す る 。 こ れ は /dev/kmem を 読 む よ り も 移 植 性 の 高 い 方 法 で あ る 。

返 り 値

成 功 し た 場 合 は 0 が 返 さ れ る 。 エ ラ ー の 場 合 は −1 が 返 さ れ 、 errno が 適 切 に 設 定 さ れ る 。

エ ラ ー

EFAULT

sysinfo 構 造 体 へ の ポ イ ン タ ー が 不 正 で あ る 。

バ ー ジ ョ ン

0.98.pl6 以 降 の Linux カ ー ネ ル に sysinfo() シ ス テ ム コ ー ル は 存 在 す る 。

準 拠

こ の 関 数 は Linux 特 有 で あ り 、 移 植 を 意 図 し た プ ロ グ ラ ム で は 使 用 す べ き で な い 。

関 連 項 目

proc(5)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。