名 前
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 特 有 で あ り 、 移 植 を 意 図 し た プ ロ グ ラ ム で は 使 用 す べ き で な い 。
関 連 項 目
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。