挂起的进程是否仍然用完 CPU/RAM?
Do suspended processes still use up CPU/RAM?
我想知道,如果您挂起一个进程,它是否仍然使用 RAM/CPU 还是只是释放所有使用的 RAM 和 CPU?
挂起进程中的所有线程将阻止线程获得更多 CPU 时间,因此一旦任何剩余内核 interrupts/operations 完成,进程将不会消耗任何 CPU 功率,直到线程恢复。未记录的 API 挂起进程只是挂起进程中的所有线程,同时持有与进程相关的锁。
挂起的 Win32 进程不会释放任何内存,但在可用物理 RAM 很少的系统上,可以将部分应用程序从 RAM 移动到页面文件,以释放 RAM 供其他活动应用程序使用。 SetProcessWorkingSetSize
可以调用以强制减少进程工作集中的页面。
UWP/Store 应用程序有更高级别的挂起类型,应用程序有一小段时间 window 来保存其状态,然后整个过程 可能 被终止。如果应用程序已终止,则当用户切换回应用程序时将启动一个新进程。
The system attempts to keep your app and its data in memory while it's suspended. However, if the system does not have the resources to keep your app in memory, it will terminate your app.
我想知道,如果您挂起一个进程,它是否仍然使用 RAM/CPU 还是只是释放所有使用的 RAM 和 CPU?
挂起进程中的所有线程将阻止线程获得更多 CPU 时间,因此一旦任何剩余内核 interrupts/operations 完成,进程将不会消耗任何 CPU 功率,直到线程恢复。未记录的 API 挂起进程只是挂起进程中的所有线程,同时持有与进程相关的锁。
挂起的 Win32 进程不会释放任何内存,但在可用物理 RAM 很少的系统上,可以将部分应用程序从 RAM 移动到页面文件,以释放 RAM 供其他活动应用程序使用。 SetProcessWorkingSetSize
可以调用以强制减少进程工作集中的页面。
UWP/Store 应用程序有更高级别的挂起类型,应用程序有一小段时间 window 来保存其状态,然后整个过程 可能 被终止。如果应用程序已终止,则当用户切换回应用程序时将启动一个新进程。
The system attempts to keep your app and its data in memory while it's suspended. However, if the system does not have the resources to keep your app in memory, it will terminate your app.