bert-w/memory-usage

Retrieve memory info on unix-like systems by reading the '/proc/meminfo' file, with calculations similar to the command 'htop'.

v1.2.0 2023-08-26 19:59 UTC

This package is auto-updated.

Last update: 2024-05-26 21:42:20 UTC


README

Latest Stable Version Total Downloads License

Receive information about the current memory usage on your unix machine, similar to the calculations in htop.

Installation instructions

composer require bert-w/memory-usage

This package is only compatible with unix-like systems. It requires read permissions to the file /proc/meminfo which contains details about the memory usage on the system.

Quick start

Get the current memory usage of your system:

$memory = new \BertW\MemoryUsage\MemoryUsage();

$usage = $memory->usedMemory() . ' / ' . $memory->totalMemory();
// Result: "3486252 kB / 8148216 kB"

Results are in kB (kilobyte) format by default. They can be converted using the ->to() function which accepts a conversion unit like 'B', 'kB', 'MB', 'GB', 'TB', 'PB' or 'EB'. A handy __toString() is included which outputs the value and the unit name:

$usage = $memory->usedMemory()->to('GB') . ' / ' . $memory->totalMemory()->to('GB');
// Result: "3.32 GB / 7.77 GB"

Function list

(new \BertW\MemoryUsage\MemoryUsage)->usedMemory();
(new \BertW\MemoryUsage\MemoryUsage)->totalUsedMemory();
(new \BertW\MemoryUsage\MemoryUsage)->totalMemory();
(new \BertW\MemoryUsage\MemoryUsage)->cacheMemory();
(new \BertW\MemoryUsage\MemoryUsage)->nonCacheMemory();
(new \BertW\MemoryUsage\MemoryUsage)->swapMemory();
(new \BertW\MemoryUsage\MemoryUsage)->bufferMemory();

(new \BertW\MemoryUsage\MemoryUsage)->meminfo();
// Returns Array<string, int> with parsed `/proc/meminfo` content (in kilobytes).

(new \BertW\MemoryUsage\MemoryUsage)->get(\BertW\MemoryUsage\Meminfo::Buffers);
(new \BertW\MemoryUsage\MemoryUsage)->get('Buffers');
// Retrieve any value from the `/proc/meminfo` file. Accepts strings and Enums.