diff options
Diffstat (limited to 'tuningplugins/disk.py')
-rw-r--r-- | tuningplugins/disk.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tuningplugins/disk.py b/tuningplugins/disk.py index e41403f..5bdcea2 100644 --- a/tuningplugins/disk.py +++ b/tuningplugins/disk.py @@ -16,7 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # -import os +import os, copy class DiskTuning: def __init__(self): @@ -35,12 +35,14 @@ class DiskTuning: def setTuning(self, load): disks = load.setdefault("DISK", {}) + oldidle = copy.deepcopy(self.devidle) 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) + if self.devidle[dev]["READ"] == 30 or self.devidle[dev]["WRITE"] == 30: + os.system("hdparm -Y -S60 -B1 /dev/"+dev) + if oldidle.has_key(dev) and oldidle[dev]["READ"] > 30 and oldidle[dev]["WRITE"] > 30 and (self.devidle[dev]["READ"] == 0 or self.devidle[dev]["WRITE"] == 0): + os.system("hdparm -S255 -B127 /dev/"+dev) print(load, self.devidle) _plugin = DiskTuning() |