在 Linux 中查找正在侦听的端口的 4 种方法

Linux性能监控下的一个关键领域必须是CPU使用率和系统负载。有几种Linux性能监控工具可以监视系统上的情况。

A number of these tools simply output the system state/statistics while a few others provide you means of managing system performance. One such tool called CPUTool.

CPUTool是一个简单而强大的命令行工具,用于限制和控制任何进程的CPU利用率到指定的限制,并允许在系统负载超过定义的阈值时中断进程执行。

CPUTool如何工作?

为了限制CPU使用率,cputool向进程发送SIGSTOPSIGCONT信号,这由系统负载确定。它依赖于/proc伪文件系统来读取PIDs及其CPU使用度量。

它可以用于将受单个进程或一组进程影响的CPU使用率或系统负载限制到给定限制,并且/或者在系统负载超过阈值时挂起进程。

建议阅读: 理解Linux负载平均值并监控Linux性能

安装 CPUTool 以限制 CPU 使用率和负载平均值

A CPUTool is only available to install on Debian/Ubuntu and its derivatives from the default system repositories using package management tool.

$ sudo apt install cputool

使用 CPUTool 限制进程 CPU 使用率

现在让我们看看 CPUTool 的真正工作原理。为了演示全部内容,我们将在后台运行一个 dd 命令,这应该会导致高 CPU 百分比,并显示其 PID。

# dd if=/dev/zero of=/dev/null &

要监视 CPU 使用率,我们可以使用 topglances 工具,这些工具允许我们查看运行中的 Linux 系统进程的实时定期更新状态:

# top
Monitor dd Command CPU Usage

从上面的输出中,我们可以看到 dd 命令 具有最高的 CPU 时间百分比 99.7%) 现在我们可以使用如下所示的 cputool 进行限制。

使用 --cpu-limit-c 标志设置进程或一组进程的使用百分比,并使用 -p 指定 PID。以下命令将限制 dd 命令(PID 8275)使用一个 CPU 核心的 50%

# cputool --cpu-limit 50 -p 8275 

运行 cputool 后,我们可以再次检查进程(PID 8275)的新 CPU 使用情况。现在 dd 进程的 CPU 使用情况应该在 (49.0%-52.0%) 范围内。

# top
Limit Process CPU to 50% Usage

为了进一步将 dd 的 CPU 使用率限制为 20%,我们可以再次运行 cputool:

# cputool --cpu-limit 20 -p 8275 

然后立即使用诸如topglances之类的工具进行检查(此时dd的 CPU 使用率应在19.0%-22.0%范围内或略有超出):

# top
Limit Process CPU Usage to 20%

请注意,当 cputool 正在运行时,shell 不需要任何用户输入;因此会变得无响应。要终止它(这将终止 CPU 使用率限制操作),请按Ctrl + C

重要的是,要为进程组(一个具有几个运行实例且每个实例具有不同 PID 的程序)指定,例如 HTTP 网页服务器:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

使用-P标志如下:

# cputool --cpu-limit 20 -P 1780

使用 CUPTool 限制系统负载

使用-l选项来指定系统可以经受的最大负载,以使进程或进程组继续运行。我们可以使用分数值(例如2.5)。

以下示例意味着仅当系统负载不超过3.5时才运行rsync进行本地备份:

# cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

有关更多信息和用法,请参阅 CPUTool 手册:

# man cputool

请查看以下有关查找 CPU 信息和 CPU 性能监控的有用指南:

  1. 在Linux上获取CPU信息的9个有用命令
  2. Cpustat – 在Linux中监视运行进程的CPU利用率
  3. CoreFreq – 用于Linux系统的强大CPU监控工具
  4. 在Linux中按最高内存和CPU使用率查找顶级运行进程

总之,CPUTool 对于Linux性能管理非常实用。请通过下面的反馈表分享您对本文的想法。

Source:
https://www.tecmint.com/cputool-limit-linux-process-cpu-usage-load/