标签: process-management

获取chrome的总内存使用量

由于 google chrome/chromium 产生多个进程,因此很难看到这些进程总共使用了多少内存。

有没有一种简单的方法可以查看一系列连接的进程使用了​​多少总内存?

memory chrome process-management multithreading

40
推荐指数
1
解决办法
2万
查看次数

如何将每个进程的 I/O 限制到最大限制?

我正在寻找一种方法来将进程磁盘 io 限制为设定的速度限制。理想情况下,该程序的工作方式类似于:

$ limitio --pid 32423 --write-limit 1M
Run Code Online (Sandbox Code Playgroud)

将进程 32423 限制为每秒 1 兆字节的硬盘写入速度。

io process-management hard-disk limit ulimit

37
推荐指数
4
解决办法
5万
查看次数

如果在执行期间编辑脚本会发生什么?

我有一个一般性问题,这可能是由于对 Linux 中进程的处理方式的误解所致。

出于我的目的,我将定义一个“脚本”作为保存到文本文件的 bash 代码片段,并为当前用户启用执行权限。

我有一系列相互调用的脚本。为简单起见,我将它们称为脚本 A、B 和 C。脚本 A 执行一系列语句,然后暂停,然后执行脚本 B,然后暂停,然后执行脚本 C。换句话说,该系列步骤是这样的:

运行脚本A:

  1. 系列声明
  2. 暂停
  3. 运行脚本 B
  4. 暂停
  5. 运行脚本 C

我从经验中知道,如果我运行脚本 A 直到第一次暂停,然后在脚本 B 中进行编辑,当我允许它恢复时,这些编辑会反映在代码的执行中。同样,如果我在脚本 A 仍然暂停时对脚本 C 进行编辑,然后在保存更改后允许它继续,这些更改将反映在代码的执行中。

那么真正的问题是,有没有办法在脚本 A 仍在运行时对其进行编辑?或者一旦开始执行就无法编辑?

linux shell bash process-management

37
推荐指数
3
解决办法
2万
查看次数

如何确保正在运行的进程的独占 CPU 可用性?

起初,这个问题似乎有点愚蠢/令人困惑,因为操作系统负责管理进程执行。

但是,我想测量一些进程受 CPU/IO 限制的程度,并且我觉得我的操作系统正在干扰我的实验,例如,预定的操作系统进程。

以以下情况为例:我运行了进程 A 两次,并从工具“time”(时间列以秒为单位)得到以下输出:

+---+-------+---------+-----------+---------+
|Run|Process|User Time|System Time|Wall time|
+---+-------+---------+-----------+---------+
|1  |A      |196.3    |5.12       |148.86   |
|2  |A      |190.79   |4.93       |475.46   |
+---+-------+---------+-----------+---------+
Run Code Online (Sandbox Code Playgroud)

正如我们所看到的,虽然用户时间和系统时间相似,但两者的经过时间发生了巨大变化(相差约 5 分钟)。感觉我的环境中的某些东西引起了某种争用。

我想停止所有可能的后台进程/服务,以避免在我的实验过程中出现任何类型的噪音,但我认为自己是一个新手/中级 unix 用户,我不知道如何保证这一点。

我使用的Linux 4.4.0-45泛型Ubuntu的LTS 14.04的64位。

我非常感谢您的帮助。如果你们需要任何缺失的信息,我会及时编辑我的帖子。

CPU信息

$ grep proc /proc/cpuinfo | wc -l
8
$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor …
Run Code Online (Sandbox Code Playgroud)

performance process debian process-management

36
推荐指数
2
解决办法
2万
查看次数

python vs bc 评估 6^6^6

我正在分别6^6^6使用python和评估表达式bc

python文件的内容是print 6**6**6. 当我执行时time python test.py,我得到的输出为

real        0m0.067s
user        0m0.050s
sys         0m0.011s
Run Code Online (Sandbox Code Playgroud)

然后,我运行了time echo 6^6^6 | bc给我以下输出的命令

real        0m0.205s
user        0m0.197s
sys         0m0.005s
Run Code Online (Sandbox Code Playgroud)

从这些结果可以清楚地看出,python 和 bc 所用的 sys 时间分别为 11 毫秒和 5 毫秒。在bc命令跑赢蟒蛇在SYS时的水平,但是当它涉及到用户和实时蟒蛇比BC快近4倍。那里可能有什么。我没有对这些过程给予任何优先考虑。我试图了解这种情况。

performance python process-management bc

29
推荐指数
3
解决办法
3292
查看次数

确保进程始终运行

不久前,我开始使用 Cherokee 托管网站。对于外部源(FastCGI 等),如果找不到在指定套接字或端口上运行的进程,它可以选择启动进程。这很棒,因为这意味着如果 PHP 或 Django 站点发生故障(它们偶尔会发生故障),它会自动重新启动。

在使用 PHP-FPM 的新服务器上,我无法使用 Cherokee(它有一个 PHP 错误),因此我已转移到 NGINX。我真的很喜欢 NGINX(因为它的配置风格),但是我遇到了进程崩溃并且永远不会重生的严重问题。PHP 有时会这样做,但 Django 站点更像是一个问题。我已经为它们创建了 init 脚本,它们在启动时出现,但是如果它们在重新启动之间出现故障,这对我没有帮助。

我想我正在寻找 FastCGI 代理。像切诺基这样的东西,知道哪些进程应该在哪些套接字/端口上运行并按需重新生成它们。这样的事情存在吗?有没有办法将它构建到 NGINX 中(为了便于配置)?

fastcgi monitoring process-management

28
推荐指数
3
解决办法
5万
查看次数

如何杀死多个进程

找到要杀死的进程的 PID 使用:

pgrep <process command>
Run Code Online (Sandbox Code Playgroud)

然后我使用kill命令杀死返回的PID pgrep <process command>

kill <PID>
Run Code Online (Sandbox Code Playgroud)

这些命令可以合并为一个,以便可以杀死 PID 或由 返回的 PIDpgrep <process command>吗?或者是否有通过命令名称杀死多个进程的方法?

就像是 : kill(pgrep <name of process>)

kill ps process-management

28
推荐指数
3
解决办法
7万
查看次数

如何杀死父进程为 init 的 &lt;defunct&gt; 进程?

传输间歇性地挂在我的 NAS 上。如果我发送 SIGTERM,它不会从进程列表中消失,并且<defunct>旁边会出现一个标签。如果我发送 SIGKILL,它仍然不会消失并且我无法终止父级,因为父级是init. 我可以摆脱该过程并重新启动传输的唯一方法是重新启动。

我意识到我能做的最好的事情就是尝试修复传输(我已经尝试过),但我是编译的新手,我想确保在我开始搞乱它之前我的种子已经完成。

kill signals process-management init zombie-process

27
推荐指数
2
解决办法
6万
查看次数

僵尸会有孤儿吗?孤儿们会因为收割丧尸而感到不安吗?

据我了解,僵尸进程已经死亡,但仍作为进程表中的占位符存在,直到其父进程(或者init如果僵尸进程本身是孤儿)检查其退出状态。

我对孤儿进程的理解是,它们仍然活着并运行,但其父进程已经死亡。

既然丧尸已经死了,那么它的孩子就会被视为孤儿,不是吗?他们会受到影响收割僵尸吗?具体来说,init是在收割僵尸后才收养他们作为孩子,还是会在父母变成僵尸后立即收养他们?

process-management init zombie-process

27
推荐指数
2
解决办法
1955
查看次数

如何查看正在运行的进程?

我使用 Ubuntu Server 10.10,我想看看正在运行哪些进程。我知道 PostgreSQL 正在我的机器上运行,但我无法使用toporps命令看到它,所以我假设它们没有显示所有正在运行的进程。难道还有其他的命令,它会显示所有正在运行的进程或有任何其他参数,我可以使用topps用于本?

process monitoring process-management

25
推荐指数
1
解决办法
22万
查看次数