问题标签 [process-management]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1126 浏览

android - Android如何获取所有正在运行的应用程序的名称和内存使用情况

我正在获取processnamepid使用活动管理器getprocessMemoryInfo(),但是如何获取应用程序使用的确切内存,因为我得到了不同的内存,例如getTotalPrivateDirty()getTotalPss()getTotalSharedDirty()

以上所有内容与应用程序管理器中显示的任何内存都不匹配。

有人知道吗?

0 投票
1 回答
740 浏览

linux - 默认情况下,将“nice”值设置为具体流程

我想为笔记本电脑中的几个进程设置特定的“好”值。例如,我希望窗口管理器在 -10 处运行,并保持默认值为 0。

我知道“renice”可以改变进程的好坏,但这是后验的,我不想每次打开计算机时都“renice”我的窗口管理器进程。同样,“limits.conf”允许为特定用户或组指定默认友好度,但不能(据我所知)特定进程。

所以我的问题是,是否有一种方法可以为具体流程定义友好性,而无需更改用户的默认值,也无需在流程运行后对其进行修改。

0 投票
2 回答
806 浏览

c - 将 sched_setaffinity 的最大 CPU 数量确定为的正确值是多少?

对于我可以用来在我的系统上CPU_SET进行sched_setaffinity调用的 CPU 数量的正确值是什么,我有些困惑。

我的/proc/cpuinfo文件:

在这个文件中,我发现有processor编号为 0-3 的行,用于“物理”处理器(总共 4 个处理器)。我可以从中得到这个值,sysconf(_SC_NPROCESSORS_ONLN)但是也有一行cpu cores,每个处理器都有 2 个。我相信这代表了“逻辑”处理器或所考虑的超线程。我应该只使用“物理”值还是可以使用“逻辑”计数?

我不清楚这一点,因为如果我去/proc/PID/status那里Cpus_allowed_list,范围可以从 0-7(总共 8 个处理器)但是,我还编写了一个脚本来调用taskset -c -p PID每个运行的“PID”,这显示了每个进程最大 0-3 的亲和力列表。

0 投票
2 回答
182 浏览

linux - Linux 如何管理和跟踪物理内存页面?

我在询问以下使用的数据结构:

我想知道linux如何跟踪所有物理页面。我不担心它如何保持vm_area_struct. 用于存储所有这些的数据结构是什么?

当它被赋予一个虚拟地址时,它如何查找一个特定的物理页面?

萝卜树?红黑树?哈希表?什么?

谢谢。

0 投票
1 回答
396 浏览

linux - 释放物理内存页面并强制页面错误

我想编写一个内核函数/模块,它将从特定进程复制特定页面,然后释放该特定页面。然后,模块/函数将在下次引用该页面时执行任何必要的操作来强制该进程进入页面错误。

然后将使用保留在一边的副本来提供页面错误。vm_operations_struct我可以使用或 通过修改handle_mm_fault内核中的函数来拦截页面错误。

我不知道该怎么做的部分是释放页面并强制进程进入页面错误。

这是计划中的测试,它将详细解释我想要做什么:

  • 启动一个测试进程,挂起它并将它的 pid 传递给内核模块/函数。
  • 内核函数将使用 pid 获取指向该进程的 mm 结构的指针。
  • 然后,内核函数从进程中选择一个页面(比如堆页面),将其复制到另一个页面,然后将vm_ops指向该页面的指针分配vm_area_struct给我自己的vm_operations_struct.
  • 然后内核函数释放页面并将其从 cpu 中刷新。
  • 然后内核函数向进程发送一个 SIGCONT。
  • 一旦进程恢复,它将遇到页面错误。页面错误将使用 vm_ops 指针拦截,这将调用我的函数来处理页面错误。我的故障处理程序将使用重复页面来处理页面故障。

我的问题与粗体中的步骤有关。

我需要弄清楚如何做到这一点。任何想法?

谢谢。

0 投票
1 回答
184 浏览

python - 如何在python中的两个进程之间进行通信

我正在使用 Windows 7 和 python 2.7

有过程-A。

通过自定义 url 启动的 process-B。

我的应用程序通过进程 A 启动,并在浏览器中打开一个网页。此页面对用户进行必要的身份验证,最终重定向到一个 url,该 url 通过与其对齐的自定义 url 启动进程 B。

当进程-B 退出(成功或异常)时,进程-A 应该继续进行,即进程-A 应该打开一个网页,然后它应该等到进程-B 完成,然后继续。

那么,进程A如何知道进程B是否完成,即如何定义它的等待时间。

0 投票
1 回答
3822 浏览

docker - 如何在 docker restart 上重新启动容器(--restart=true 不起作用)?

我正在使用 docker 版本 1.1.0,由 systemd 使用命令行启动/usr/bin/docker -d,并尝试:

  • 运行一个容器
  • 停止 docker 服务
  • 重新启动 docker 服务(使用 systemd 或手动,--restart=true在命令行上指定)
  • 看看我的容器是否还在运行

据我了解文档,我的容器应该重新启动。但事实并非如此。它面向公众的端口没有响应,docker ps也没有显示出来。

docker ps -a显示我的容器为空状态:

当我尝试时docker restart cb0d05b4e0d9,我得到一个错误:

我总是可以使用相同的基本映像重新创建一个容器docker run ...,但是如果重新启动 docker,我如何确保我正在运行的容器将重新启动。即使泊坞窗没有正确停止(想象我从服务器上拔下电源插头),是否存在解决方案。

谢谢

0 投票
2 回答
105 浏览

process - 处理器如何知道切换具有高优先级进程的进程?

我认为,进程调度程序将用高优先级进程替换当前正在由 cpu 处理的进程。在调度程序正在运行以通知 cpu 有关高优先级进程的情况下,当 cpu 忙于执行低优先级进程时,处理器在任何时候都只会执行一个进程?

0 投票
0 回答
101 浏览

node.js - 节点子进程——消息监听器

所以我创建了一个触发消息监听器的服务文件。这个服务文件有一些逻辑来确保一个工作进程被触发......

基本上:

_createParent 将派生出带有标志的 service.js 文件,以便下次进程运行时,我们处于子/工作进程中。

Worker 进程是让我的听众兴奋的原因,现在我试图解决的问题是这是否足够的资源管理?侦听器收到一条消息,告诉它启动某个应用程序。此应用程序可能需要 10 秒到 120 秒才能完成。

如果它崩溃了,很明显,service.js 文件会处理它并启动另一个,但我更担心阻塞和使用我的大部分机器。我应该在侦听器中再次分叉我将要启动的实际应用程序还是就足够了?

0 投票
1 回答
56 浏览

linux - 内核/用户堆栈,这是什么意思?

我正在准备一个关于 linux 内核中进程管理的小型演示文稿,在搜索时我发现每个进程都必须有一个 task_struct 或进程描述符,第二件事是私有内核/用户堆栈。现在我的问题是堆栈是什么意思?它是内存空间还是究竟是什么?对象堆栈的种类是什么?

任何帮助将不胜感激。