diff options
Diffstat (limited to 'tuningplugins')
-rw-r--r-- | tuningplugins/disk.py | 8 | ||||
-rw-r--r-- | tuningplugins/net.py | 9 |
2 files changed, 15 insertions, 2 deletions
diff --git a/tuningplugins/disk.py b/tuningplugins/disk.py index d255252..a97433a 100644 --- a/tuningplugins/disk.py +++ b/tuningplugins/disk.py @@ -21,6 +21,7 @@ import os, copy class DiskTuning: def __init__(self): self.devidle = {} + self.enabled = True def __updateIdle__(self, dev, devload): idle = self.devidle.setdefault(dev, {}) @@ -35,12 +36,17 @@ class DiskTuning: def init(self, config): self.config = config + if self.config.has_option("DiskTuning", "enabled"): + self.enabled = (self.config.get("DiskTuning", "enabled") == "True") def cleanup(self): for dev in self.devidle.keys(): - os.system("hdparm -S0 -B255 /dev/"+dev+" > /dev/null 2>&1") + if self.enabled and self.devidle[dev]["LEVEL"] > 0: + os.system("hdparm -S0 -B255 /dev/"+dev+" > /dev/null 2>&1") def setTuning(self, load): + if not self.enabled: + return disks = load.setdefault("DISK", {}) for dev in disks.keys(): devload = disks[dev] diff --git a/tuningplugins/net.py b/tuningplugins/net.py index 1ef11c6..ecb4c20 100644 --- a/tuningplugins/net.py +++ b/tuningplugins/net.py @@ -21,6 +21,7 @@ import os, copy class NetTuning: def __init__(self): self.devidle = {} + self.enabled = True def __updateIdle__(self, dev, devload): idle = self.devidle.setdefault(dev, {}) @@ -35,12 +36,18 @@ class NetTuning: def init(self, config): self.config = config + if self.config.has_option("NetTuning", "enabled"): + self.enabled = (self.config.get("NetTuning", "enabled") == "True") + def cleanup(self): for dev in self.devidle.keys(): - os.system("ethtool -s "+dev+" advertise 0x03F") + if self.enabled and self.devidle[dev]["LEVEL"] > 0: + os.system("ethtool -s "+dev+" advertise 0x03F") def setTuning(self, load): + if not self.enabled: + return disks = load.setdefault("NET", {}) for dev in disks.keys(): devload = disks[dev] |