我们的 ASP.NET 应用程序使用按处理器核心数授权的组件。不幸的是,我们的客户希望将应用程序部署到多功能服务器(IIS、SQL Server、文件服务器等)上,该服务器超出了客户所获许可的处理器核心数:他们被允许使用四个核心,但有两个处理器,每个处理器有四个核心。我可以在 Windows Server 2003 计算机上将 IIS 6 配置为仅使用一个处理器吗?
答案1
您可以为每个应用程序池设置处理器亲和性(从而限制为 1 个处理器),这将有效地限制在该池中运行的应用程序使用一个处理器。这将限制 w3wp 进程仅使用一个处理器,希望这是您遵守此许可证所需的全部内容。其他 IIS 服务(管理服务等)仍将使用两个 CPU
您可以找到有关如何操作的详细信息这里。
答案2
首先,您应该将应用程序放入其自己的应用程序池中,然后您可以在元数据库中为每个应用程序池设置亲和性。这样您就可以限制该 Web 应用程序而不限制其他任何内容。
答案3
设置处理器亲和力。我认为这也许能满足您的要求。
答案4
你可以将 Windows 配置为仅使用指定数量的处理器启动配置文件通过 /numproc 开关禁用文件。当然,这会禁用整个操作系统的处理器,而不仅仅是 IIS。