Bei der Verwendung sudo iotop
(neueste Version 0.6-2.el7
) in einem Terminal in meinem neu installierten CentOS 7.5 wird folgende Fehlermeldung angezeigt:
Traceback (most recent call last):
File "/sbin/iotop", line 17, in <module>
main()
File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 620, in main
main_loop()
File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 610, in <lambda>
main_loop = lambda: run_iotop(options)
File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 508, in run_iotop
return curses.wrapper(run_iotop_window, options)
File "/usr/lib64/python2.7/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 501, in run_iotop_window
ui.run()
File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 155, in run
self.process_list.duration)
File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 434, in refresh_display
lines = self.get_data()
File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 415, in get_data
return list(map(format, processes))
File "/usr/lib/python2.7/site-packages/iotop/ui.py", line 388, in format
cmdline = p.get_cmdline()
File "/usr/lib/python2.7/site-packages/iotop/data.py", line 292, in get_cmdline
proc_status = parse_proc_pid_status(self.pid)
File "/usr/lib/python2.7/site-packages/iotop/data.py", line 196, in parse_proc_pid_status
key, value = line.split(':\t', 1)
ValueError: need more than 1 value to unpack
Irgendeine Idee, wie man dieses Problem behebt?
Antworten:
Anscheinend wurde in neueren Kernelversionen eine Leerzeile
/proc/(pid)/status
eingefügt, die iotop nicht erwartet:Als nullte Annäherung an einen Fix editieren Sie (als root)
/usr/lib/python2.7/site-packages/iotop/data.py
ca l.195:wo das neu
if not line.strip(): continue
ist. Beachten Sie, dass Python keine expliziten geschweiften Klammern enthält. Daher sollte der Einzug dieser Zeile mit dem der Zeile darunter übereinstimmen.( Weitere Korrekturen für diesen Fehler finden Sie unter https://bugs.launchpad.net/pkg-website/+bug/1773383 .)
quelle
if not entry.strip(): continue
vor, um dieses Problem zu lösen. pythonhosted.org/PymplerNur zur Ergänzung der akzeptierten Antwort (konnte nicht als Kommentar hinzugefügt werden, da sie nicht mehrere Leerzeichen zulassen)
Seien Sie vorsichtig und überprüfen Sie, ob alles in Ordnung ist, wenn Sie es zum ersten Mal ausführen.
Für meine Systeme ist es:
quelle