Mon vieux DS-207+ n’étant pas très puissant je me suis demandé comment réduire l’impact d’un programme en background sur son petit processeur et le disque dur.
J’ai trouvé la réponse rapidement : nice et ionice.
Seulement voilà, ni nice ni ionice ne sont présents en natif sur le Syno. Pas de problème, il suffit de le cross compiler !
Ça tombe bien, je l’avais déjà fait pour mon SPK SABnzbd car ce dernier permet de les utiliser lors de la décompression/réparation.
Avec ionice, on peut voir le statut d’un processus en cours :
ionice -p [PID]
Par contre ce n’est pas possible avec nice… il faut passer par ps mais :
DiskStation> ps -h ps: invalid option -- h BusyBox v1.16.1 (2010-10-23 01:59:53 CST) multi-call binary. Usage: ps Report process status This version of ps accepts no options
Super, une version ultra allégée de ps, cross compilons un meilleur ps !
Les sources de ps sont dans procps, sans configure, juste un Makefile… tout ça pour ça :
DiskStation> ./ps axl F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
C’est la colonne NI qui nous intéresse et qui va nous donner la niceness des processus listés.
J’ai plus qu’a appliquer ça à mes scripts de backup, SABnzbd, Sick-Beard ou CouchPotato pour pouvoir utiliser mon Syno lors de grosse charges système sans problème. Pour mes SPK sus-cités, je pense que ce sera l’objet de la release 0.3