Книга: Программирование для Linux. Профессиональный подход
Листинг 8.12. (sysinfo.c) Вывод системной статистики
Листинг 8.12. (sysinfo.c) Вывод системной статистики
#include <linux/kernel.h>
#include <linux/sys.h>
#include <stdio.h>
#include <sys/sysinfo.h>
int main() {
/* Константы преобразования. */
const long minute = 60;
const long hour = minute * 60;
const long day = hour * 24;
const double megabyte = 1024 * 1024;
/* Получение системной статистики. */
struct sysinfo si;
sysinfo(&si);
/* Представление информации в понятном виде. */
printf("system uptime : %ld days, %ld:%02ld:%021dn",
si.uptime / day, (si.uptime % day) / hour,
(si.uptime % hour) / minute, si.uptime % minute);
printf("total RAM : %5.1f MBn", si.totalram / megabyte);
printf("free RAM : %5.1f MBn",
si.freeram / megabyte);
printf("process count : %dn", si.procs);
return 0;
}
Оглавление статьи/книги
Похожие страницы
- Листинг 7.7. (print-uptime.c) Отображение времени работы и времени простоя системы
- Отображение статистики
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Получение статистики
- Включение и отключение синхронного вывода
- Примеры получения статистики
- Листинг 15.11. Код для загрузки файла с Web-сервера
- 2. Правила вывода Армстронга
- 3. Производные правила вывода
- 1.6 Драйверы и буферы ввода-вывода
- 1.8 Ввод-вывод типичного приложения хранения данных
- Глава 6 BIOS – базовая система ввода-вывода