タグ

ブックマーク / harasou.jp (2)

  • cgroup の cpu.shares を検証した

    cgroup には複数のサブシステム(controller)があるが、その中の cpu.shares について検証してみた。 cpu.shares とは cpu.shares を設定すると、タスクが使用できる CPU 時間の割合を変更することができる。 具体的に言うと、A B2つのグループを作り、cpu.shares をそれぞれ1024 2048とした場合、B のグループにいるプロセスが、A のグループにいるプロセスより 2倍 CPU を使えるようになる。以下、実行例。 # mkdir /cgroup/{A,B} # echo 1024 > /cgroup/A/cpu.shares # echo 2048 > /cgroup/B/cpu.shares # sh -c "while : ; do : ; done" & echo $! > /cgroup/A/tasks [1] 2835 #

    cgroup の cpu.shares を検証した
    HHR
    HHR 2020/05/11
  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
    HHR
    HHR 2017/01/24
  • 1