ProcessStatus QML 类型
提供关于应用程序进程状态的信息。 更多信息...
导入语句 | import QtApplicationManager.SystemUI 2.0 |
属性
- applicationId : string
- cpuLoad : real
- memoryPss : var
- memoryReportingEnabled : bool
- memoryRss : var
- memoryVirtual : var
- processId : int
- roleNames : list<string>
信号
- memoryReportingChanged(var memoryVirtual, var memoryRss, var memoryPss)
方法
- update()
详细说明
ProcessStatus 为指定应用程序的进程提供信息。
您可以将其与计时器一起使用,例如,定期查询应用程序进程的状态。
import QtQuick import QtApplicationManager import QtApplicationManager.SystemUI Item { id: root property var application: ApplicationManager.get(0) ... ProcessStatus { id: processStatus applicationId: root.application.id } Timer { interval: 1000 running: root.visible && root.application.runState === Am.Running repeat: true onTriggered: processStatus.update() } Text { text: "PSS.total: " + (processStatus.memoryPss.total / 1e6).toFixed(0) + " MB" } }
如果您想将此类型用作 MonitorModel 的数据源,以便绘制其随时间的变化值,您也可以使用此类型。
import QtQuick import QtApplicationManager import QtApplicationManager.SystemUI ... MonitorModel { running: true ProcessStatus { applicationId: "some.app.id" } }
以下是内存属性(memoryVirtual
、memoryRss
和 memoryPss
)所支持的键:
键 | 描述 |
---|---|
total | 使用的总内存量,以字节为单位。 |
text | 代码部分使用的内存量,以字节为单位。 |
heap | 堆使用的内存量,以字节为单位。堆是私有、动态分配的内存,例如在 Linux 上通过 malloc 或 mmap 。 |
属性文档
applicationId : string |
持有要监视进程的应用程序的 ID。此 ID 必须是应用程序管理器所知的 ID(《applicationIds() 获取有效 ID 的列表)。有一个例外:如果您想监视系统 UI 的进程,请将 ID 设置为空字符串。在单进程模式下,系统 UI 进程是唯一有效的进程,因为所有应用程序都在此进程中运行。
另请参阅ApplicationObject。
cpuLoad : real |
此属性保存了上一次测量间隔期间进程的CPU利用率。当update()最后一次被调用时。值为0表示进程空闲;值为1表示进程使用了相当于一个核心的能力,这可能会分布在几个核心上。
另请参阅 ProcessStatus::update。
memoryPss : var |
进程比例设置大小(PSS)内存使用的映射。这是在ProcessStatus::memoryRss中的RSS值的比例份额。例如,如果两个进程共享2MB,那么每个进程的RSS值是2MB;PSS值是每个进程1MB。正如其名所暗示的,共享库的代码部分通常在进程间共享。内存也可以通过OS提供的其他方式共享,例如,通过Linux上的mmap
。有关更多信息,请参阅支持键的表格。
调用ProcessStatus::update()将更新此属性的值。
另请参阅 ProcessStatus::update。
memoryReportingEnabled : bool |
一个布尔值,用于确定在update()被调用时是否刷新内存属性。默认值是true
。在你的系统UI中,确定内存消耗的过程会向CPU添加额外的负载,影响cpuLoad
值。如果要保持cpuLoad
值准确,请考虑禁用内存报告。
memoryRss : var |
进程常驻集大小(RSS)内存使用的映射。这是实际映射到物理RAM的内存量。有关更多信息,请参阅支持键的表格。
调用ProcessStatus::update()将更新此属性的值。
另请参阅 ProcessStatus::update。
memoryVirtual : var |
进程虚拟内存使用的映射。例如,通过memoryVirtual.total
提供虚拟内存总量。有关更多信息,请参阅支持键的表格。
调用ProcessStatus::update()将更新此属性的值。
另请参阅 ProcessStatus::update。
processId : int |
此属性持有被监控的操作系统特定的进程标识符(PID)。例如,它可以被外部工具使用。如果没有进程与applicationId关联,则该属性值为0。特别是,如果应用程序管理器以单进程模式运行,则只有一个系统UI与进程相关联。系统UI始终通过一个空applicationId进行标识。
当ProcessStatus用作MonitorModel的数据源时,它提供的角色名称。
另见 MonitorModel.
信号文档
此信号在调用update()之后发出,并且已经刷新了内存使用值。每个参数memoryVirtual、memoryRss和memoryPss都是一个JavaScript对象,具有如下表格中列出的可用属性。
注意:对应处理器为onMemoryReportingChanged
。
方法文档
update() |
© 2024 Qt公司有限公司。本文件中包含的文档贡献属于其各自的业主。所提供的文档是根据自由软件基金会发布的GNU自由文档许可协议版本1.3授予的。Qt及其相关商标是芬兰的Qt公司或其他国家的商标。所有其他商标均为其各自的业主所有。