コンソール操作を一時停止できますか?

コンソール操作を一時停止できますか?

さまざまなコンソールで多くのタスクが実行されています。

CPU使用量をほぼすべて占めるため、システム制御が難しい(応答時間が非常に遅い)。

このコンソールを一時停止する方法はありますか?それとも別の方法がありますか?

#修正

私は実際にはさまざまなコンソールでYoctoを構築していますが、特定のプロセスを調整するのは難しいようです。そして、Yoctoを構築すると、他の多くのプロセスが実行され、繰り返し終了し、別の新しいプロセスが開始される可能性があります。

答え1

フォアグラウンドプロセスの場合は、無効ctrl +zにするフォアグラウンドコマンドを使用してプロセスをバックグラウンドに配置できます。この時点でfgを使用して目覚め、前景に置くことができます。

liruilong@liruilongs:~$ jobs
liruilong@liruilongs:~$ sleep 2000
^Z
[1]+ Stopped sleep 2000
liruilong@liruilongs:~$ jobs
[1]+ Stopped sleep 2000
liruilong@liruilongs:~$ fg
sleep 2000

プロセスの優先順位を変更するだけでなく、cgroupプロセスの開始時にリソースを制限することも検討できます。

使用している場合は、systemdプロセスのリソースを制限することができますcgroup

┌──[[email protected]]-[~]
└─$ systemd-run -p MemoryLimit=5M -p CPUShares=100 --unit=sleep-50 --slice=test sleep 50
Running as unit sleep-50.service.

答え2

プロセスを一時停止する方法はいくつかあります。

  1. 固定するにはSIGSTOPをプロセスに送信します(固定を解除するにはSIGCONT)。 Ctrl + S(Ctrl + Q)を押して、これらの信号をアクティブプロセスに送信することもできます。ただし、バックグラウンドにある場合は、killまたはそのバリアントを使用する必要があります。

  2. niceプロセスの優先順位を設定するために使用されます。デフォルトでは、すべてのユーザープロセスは10に設定されているため、同じCPUが得られます。プロセスが重要ではなく速度が遅くなる可能性がある場合は、親近感を高めてください。プロセスに優先順位が必要な場合はnicenessを減らしてください。

  3. 不要なプロセスは停止してください:)

関連情報