Files
TThop/SystemReader.cs
2026-04-09 12:57:15 +02:00

63 lines
1.6 KiB
C#

class SystemReader
{
public int _avaibleRam;
public int _totalRam;
public int getRam()
{
foreach (var line in File.ReadLines("/proc/meminfo"))
{
if (line.StartsWith("MemTotal"))
_totalRam = int.Parse(line.Split(' ', StringSplitOptions.RemoveEmptyEntries)[1]);
if (line.StartsWith("MemAvailable"))
_avaibleRam = int.Parse(line.Split(' ', StringSplitOptions.RemoveEmptyEntries)[1]);
}
return 0;
}
public double _cpuLoad;
public int cpuCores = Environment.ProcessorCount;
public double getCpuLoad()
{
if (File.Exists("/proc/loadavg"))
{
string loadStr = File.ReadAllText("/proc/loadavg");
// první číslo = load za poslední 1 minutu
_cpuLoad = double.Parse(loadStr.Split(' ')[0], System.Globalization.CultureInfo.InvariantCulture);
}
else
{
_cpuLoad = -1;
}
return _cpuLoad;
}
public int _cpuTemp;
public int getCpuTemp()
{
if (File.Exists("/sys/class/thermal/thermal_zone0/temp"))
{
string tempStr = File.ReadAllText("/sys/class/thermal/thermal_zone0/temp");
_cpuTemp = int.Parse(tempStr) / 1000; // převod na °C
}
else
{
_cpuTemp = -1; // soubor neexistuje
}
return _cpuTemp;
}
public double getUptime()
{
string uptime = File.ReadAllText("/proc/uptime").Split(' ')[0];
return double.Parse(uptime, System.Globalization.CultureInfo.InvariantCulture);
}
}