naoki86star

インターネットの片隅でなにかしら書いてみる

 pythonのpsutilってモジュールでdisk_io_counters()ってディスクアクセス頻度をとってくる関数を使ってる。これがraspberry piを不用意にapt upgradeしたら動かなくなった。kernelが新しくなってprocあたりの出力が変わったか。

Traceback (most recent call last):
  File "./pimon-send2carbon.py", line 3, in <module>
    import pi_psutil
  File "/home/pi/bin/pi_psutil.py", line 25, in <module>
    instance = parameters()
  File "/home/pi/bin/pi_psutil.py", line 5, in __init__
    dc = psutil.disk_io_counters()
  File "/usr/lib/python3/dist-packages/psutil/__init__.py", line 2131, in disk_io_counters
    rawdict = _psplatform.disk_io_counters(**kwargs)
  File "/usr/lib/python3/dist-packages/psutil/_pslinux.py", line 1121, in disk_io_counters
    for entry in gen:
  File "/usr/lib/python3/dist-packages/psutil/_pslinux.py", line 1094, in read_procfs
    raise ValueError("not sure how to interpret line %r" % line)
ValueError: not sure how to interpret line '   1       0 ram0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n'
Linux Fit 5.10.11+ #1399 Thu Jan 28 12:02:28 GMT 2021 armv6l GNU/Linux

同じ目(raspiではないかもだけども)にあった人はやはりすでにいたみたい。けどもこの時点で新しいpsutilなら大丈夫だよ、ってことか。
[5.5.1-arch1-1] psutil.disk_io_counters() raises "ValueError: not sure how to interpret line" · Issue #1680 · giampaolo/psutil · GitHub

git cloneで引っ張ってきてsetup.py buildしたのをローカルディレクトリにコピー。(installはしないでおく)psutilのapt/pipパッケージはいずれか新しくなってくれるのだろうか。

個人の趣味におけるおまじない程度の新しいupdateがあればいれておく、そんな行動で、それを夜中寝る前にすぐ終わるつもりで不用意にもupdateしたのがいかんかった。にしても今回はその場で気が付いてちょっとだけラッキー。