|
|
|
|
@ -210,9 +210,9 @@ int MemSensor::getSwapTotal()
|
|
|
|
|
mib[1] = VM_UVMEXP;
|
|
|
|
|
ssize = sizeof(uvmexp);
|
|
|
|
|
|
|
|
|
|
if (sysctl(mib,2,&uvmexp,&ssize,NULL,0) != -1) {
|
|
|
|
|
pagesize = uvmexp.pagesize;
|
|
|
|
|
STotal = (pagesize*uvmexp.swpages) >> 10;
|
|
|
|
|
if (sysctl(mib, 2, &uvmexp, &ssize, NULL, 0) != -1) {
|
|
|
|
|
pagesize = uvmexp.pagesize;
|
|
|
|
|
STotal = (pagesize*uvmexp.swpages) >> 10;
|
|
|
|
|
}
|
|
|
|
|
return STotal;
|
|
|
|
|
#else
|
|
|
|
|
@ -254,10 +254,10 @@ int MemSensor::getSwapFree()
|
|
|
|
|
ssize = sizeof(uvmexp);
|
|
|
|
|
|
|
|
|
|
if (sysctl(mib,2,&uvmexp,&ssize,NULL,0) != -1) {
|
|
|
|
|
pagesize = uvmexp.pagesize;
|
|
|
|
|
STotal = (pagesize*uvmexp.swpages) >> 10;
|
|
|
|
|
SUsed = (pagesize*uvmexp.swpginuse) >> 10;
|
|
|
|
|
SFree = STotal - SUsed;
|
|
|
|
|
pagesize = uvmexp.pagesize;
|
|
|
|
|
STotal = (pagesize*uvmexp.swpages) >> 10;
|
|
|
|
|
SUsed = (pagesize*uvmexp.swpginuse) >> 10;
|
|
|
|
|
SFree = STotal - SUsed;
|
|
|
|
|
}
|
|
|
|
|
return SFree;
|
|
|
|
|
#else
|
|
|
|
|
@ -287,6 +287,9 @@ void MemSensor::readValues()
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#define SUB_FORMAT_STR(fstring, value) \
|
|
|
|
|
format.replace(TQRegExp(#fstring, false), TQString::number((int)(value)));
|
|
|
|
|
|
|
|
|
|
void MemSensor::update()
|
|
|
|
|
{
|
|
|
|
|
readValues();
|
|
|
|
|
@ -319,34 +322,38 @@ void MemSensor::update()
|
|
|
|
|
format = "%um";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
format.replace( TQRegExp("%fmbp", false), TQString::number( (int)((totalMem - usedMemNoBuffers) * 100.0 / totalMem) ));
|
|
|
|
|
format.replace( TQRegExp("%fmb", false), TQString::number( (int)((totalMem - usedMemNoBuffers) / 1024.0 + 0.5) ));
|
|
|
|
|
format.replace( TQRegExp("%fmp", false), TQString::number( (int)((totalMem - usedMem) * 100.0 / totalMem) ));
|
|
|
|
|
format.replace( TQRegExp("%fm", false), TQString::number( (int)((totalMem - usedMem) / 1024.0 + 0.5) ));
|
|
|
|
|
SUB_FORMAT_STR(%fmbp, (totalMem - usedMemNoBuffers) * 100.0 / totalMem)
|
|
|
|
|
SUB_FORMAT_STR(%fmb, (totalMem - usedMemNoBuffers) / 1024.0 + 0.5)
|
|
|
|
|
SUB_FORMAT_STR(%fmp, (totalMem - usedMem) * 100.0 / totalMem)
|
|
|
|
|
SUB_FORMAT_STR(%fm, (totalMem - usedMem) / 1024.0 + 0.5)
|
|
|
|
|
|
|
|
|
|
format.replace( TQRegExp("%umbp", false), TQString::number( (int)(usedMemNoBuffers * 100.0 / totalMem) ));
|
|
|
|
|
format.replace( TQRegExp("%umb", false), TQString::number( (int)(usedMemNoBuffers / 1024.0 + 0.5) ));
|
|
|
|
|
format.replace( TQRegExp("%ump", false), TQString::number( (int)(usedMem * 100.0 / totalMem) ));
|
|
|
|
|
format.replace( TQRegExp("%um", false), TQString::number( (int)(usedMem / 1024.0 + 0.5) ));
|
|
|
|
|
SUB_FORMAT_STR(%umbp, usedMemNoBuffers * 100.0 / totalMem)
|
|
|
|
|
SUB_FORMAT_STR(%umb, usedMemNoBuffers / 1024.0 + 0.5)
|
|
|
|
|
SUB_FORMAT_STR(%ump, usedMem * 100.0 / totalMem)
|
|
|
|
|
SUB_FORMAT_STR(%um, usedMem / 1024.0 + 0.5)
|
|
|
|
|
|
|
|
|
|
format.replace( TQRegExp("%tm", false), TQString::number( (int)(totalMem / 1024.0 + 0.5) ));
|
|
|
|
|
SUB_FORMAT_STR(%tm, totalMem / 1024.0 + 0.5)
|
|
|
|
|
|
|
|
|
|
format.replace( TQRegExp("%fsp", false), TQString::number( (int)((totalSwap - usedSwap) * 100.0 / totalSwap) ));
|
|
|
|
|
format.replace( TQRegExp("%fs", false), TQString::number( (int)((totalSwap - usedSwap) / 1024.0 + 0.5) ));
|
|
|
|
|
format.replace( TQRegExp("%usp", false), TQString::number( (int)(usedSwap * 100.0 / totalSwap) ));
|
|
|
|
|
format.replace( TQRegExp("%us", false), TQString::number( (int)(usedSwap / 1024.0 + 0.5) ));
|
|
|
|
|
SUB_FORMAT_STR(%fsp, (totalSwap - usedSwap) * 100.0 / totalSwap)
|
|
|
|
|
SUB_FORMAT_STR(%fs, (totalSwap - usedSwap) / 1024.0 + 0.5)
|
|
|
|
|
SUB_FORMAT_STR(%usp, usedSwap * 100.0 / totalSwap)
|
|
|
|
|
SUB_FORMAT_STR(%us, usedSwap / 1024.0 + 0.5)
|
|
|
|
|
|
|
|
|
|
format.replace( TQRegExp("%ts", false), TQString::number( (int)(totalSwap / 1024.0 + 0.5) ));
|
|
|
|
|
SUB_FORMAT_STR(%ts, totalSwap / 1024.0 + 0.5)
|
|
|
|
|
|
|
|
|
|
meter->setValue(format);
|
|
|
|
|
++it;
|
|
|
|
|
}
|
|
|
|
|
#if defined(Q_OS_FREEBSD) && !(defined(__FreeBSD_version) && __FreeBSD_version >= 500018)
|
|
|
|
|
if (set)
|
|
|
|
|
{
|
|
|
|
|
MaxSet = true;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#undef SUB_FORMAT_STR
|
|
|
|
|
|
|
|
|
|
void MemSensor::setMaxValue( SensorParams *sp )
|
|
|
|
|
{
|
|
|
|
|
Meter *meter;
|
|
|
|
|
@ -358,10 +365,21 @@ void MemSensor::setMaxValue( SensorParams *sp )
|
|
|
|
|
{
|
|
|
|
|
f = "%um";
|
|
|
|
|
}
|
|
|
|
|
if( f=="%fm" || f== "%um" || f=="%fmb" || f=="%umb" )
|
|
|
|
|
meter->setMax( getMemTotal() / 1024 );
|
|
|
|
|
if( f=="%fs" || f== "%us" )
|
|
|
|
|
meter->setMax( getSwapTotal() / 1024 );
|
|
|
|
|
|
|
|
|
|
else if (f.endsWith("p"))
|
|
|
|
|
{
|
|
|
|
|
meter->setMax(100);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else if (f == "%fm" || f == "%um" || f == "%fmb" || f == "%umb")
|
|
|
|
|
{
|
|
|
|
|
meter->setMax(getMemTotal() / 1024);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else if (f == "%fs" || f == "%us")
|
|
|
|
|
{
|
|
|
|
|
meter->setMax(getSwapTotal() / 1024);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#include "memsensor.moc"
|
|
|
|
|
|