diff options
Diffstat (limited to 'tuningplugins')
-rw-r--r-- | tuningplugins/.disk.py.swp | bin | 0 -> 12288 bytes | |||
-rw-r--r-- | tuningplugins/__init__.py | 0 | ||||
-rw-r--r-- | tuningplugins/disk.py | 28 |
3 files changed, 28 insertions, 0 deletions
diff --git a/tuningplugins/.disk.py.swp b/tuningplugins/.disk.py.swp Binary files differnew file mode 100644 index 0000000..1e7ee23 --- /dev/null +++ b/tuningplugins/.disk.py.swp diff --git a/tuningplugins/__init__.py b/tuningplugins/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tuningplugins/__init__.py diff --git a/tuningplugins/disk.py b/tuningplugins/disk.py new file mode 100644 index 0000000..32f6256 --- /dev/null +++ b/tuningplugins/disk.py @@ -0,0 +1,28 @@ +import os + +class DiskTuning: + def __init__(self): + self.devidle = {} + + def __updateIdle__(self, dev, devload): + for type in ("READ", "WRITE"): + if devload[type] == 0.0: + idle = self.devidle.setdefault(dev, {}) + idle.setdefault(type, 0) + idle[type] += 1 + else: + idle = self.devidle.setdefault(dev, {}) + idle.setdefault(type, 0) + idle[type] = 0 + + def setTuning(self, load): + disks = load.setdefault("DISK", {}) + for dev in disks.keys(): + devload = disks[dev] + self.__updateIdle__(dev, devload) + if self.devidle[dev]["READ"] == 30 and self.devidle[dev]["WRITE"] == 30: + os.system("hdparm -S5 /dev/"+dev) + os.system("hdparm -B1 /dev/"+dev) + print(load, self.devidle) + +_plugin = DiskTuning() |