How to monitor and manage CPU usage for domains in Plesk for Windows?
1. Monitor and manage with Task Manager:
Open the Task Manager, sort all processes by CPU. The PIDs of the consuming processes are going to be retrieved. Then, using Process Monitor from Sysinternals filter the output for those PIDs the paths which are queried by these processes are shown with this utility. They are actually home directories of the domains. Also paths to the active processes may be retrieved in Task Manager > Details > Right click on a columns > Select columns > Image path name.
2. Monitor in IIS Manager:
CPU usage for a particular domain is visible under IIS Manager > <Server name> > Worker Processes.
3. Manage in Plesk:
In Plesk it is possible to restrict CPU overload by for a particular domain :
Subscriptions > example.com > Dedicated IIS Application Pool for Your Websites > Maximum CPU usage (%).
Or in a Service Plan:
Service Plans > <Service Plan name> > Performance > Maximum CPU usage (%).
Then set up action which follows CPU overload (Limit action) and Limit Interval(time, during which process is going to be affected by the action chosen):
1. Log Only: No actions is going to be taken, except logging in Event Log > Administrative Events.
2. Shut Down: Process is going to be killed until the Limit Interval exceeds.
3. Throttle: always restrict the application to the specified amount of CPU utilization.
4. Throttle Under Load: allow the process to use more than the specified amount of CPU, provided that there is no contention for CPU resources.
NOTE: Also the same may be specified in IIS itself: IIS Manager > Applications Pools > example.com's pool > Advanced Settings > CPU. NoAction and KillW3wp are equal to Log Only and Shut Down options in Plesk accordingly.