当前位置: 操作系统/服务器>linux
本页文章导读:
▪怎样通过iisapp命令查找pid来解决IIS的cpu占用率过高问题
我们先来看看iisapp的一些参数 iisapp -a pid 可以查出对应的域名 反之 iisapp -p domain 查pid的语法 iisapp [a/ AppPoolName | /p AppPoolID] 参数 /a AppPoolName 指定特定应用程序池的名称。(可选项) /p AppPoolI.........
▪比较详细的iisapp使用实例代码
iisapp -a pid 可以查出对应的域名 反之 iisapp -p domain 查pid的 Iisapp.vbs:IIS 应用程序查询脚本报告为特定的应用程序池提供服务且当前正在运行 w3pwp.exe 进程的进程标识符 (PID)。 语法 iisapp [a/ App.........
▪Windows 安装IIS出现的问题(无法安装IIS,提示“安装程序无法复制文件IISApp.vbs”)
这就是典型的windows安全数据库出问题了,可以用以下方法来解决这个问题: Windows安全资料库,在%WinDir%\Security\database里。 台湾的资料库,大陆称为数据库。 在Windows作业系统里带有专门的E.........
[1]怎样通过iisapp命令查找pid来解决IIS的cpu占用率过高问题
来源: 互联网 发布时间: 2013-12-24
我们先来看看iisapp的一些参数
iisapp -a pid
可以查出对应的域名
反之 iisapp -p domain 查pid的语法
iisapp [a/
AppPoolName | /p
AppPoolID]
参数
/a AppPoolName
指定特定应用程序池的名称。(可选项)
/p AppPoolID
按 ID 号指定应用程序池。(可选项)
注释
如果未指定应用程序池名或 ID,则 iisapp 列出所有运行应用程序。
仅当使用 /s 时,
才可使用 /u 和 /p 命令行选项。必须同时使用 /p 和 /u 才能提供用户密码。
Iisext.vbs 执行 IIS 管理器中可用的相同操作。可使用任何一种工具管理 IIS 网站。
发出命令的计算机必须正在运行 Windows XP 或 Windows Server 2003 操作系统。用户必须是命令所影响的计算机上的 Administrators 组成员。
命令所影响的计算机必须是运行带有 Internet 信息服务 (IIS) 6.0 的 Windows Server 2003 的服务器。
说明一下:w3wp.exe为IIS里面的应用程序池进程,有几个进程就会有几个w3wp.exe,会发现某个w3wp.exe进程CPU和内存都高得可怕!
好,那我们来看看具体实践中该如何解决首先是windows2003
首先打开windows任务管理器–点击查看—选择列–把PID给钩上!!,,
就可以在进程里面看到PID的选项了
点击运行–输入CMD–输入iisapp -a—很奇怪,这里显示PID的,是用弹出窗口一个个出现的,不知道别人会不,,反正我就是这样,太不利于查看了!!
注意,希望人BLOG听说第一次运行,会提示没有js支持,点击确定.然后再次运行就可以了.这样就可以看到pid对应的应用程序池,这个我就没测试了!
这样吧,先再CMD里面输入:cd %systemroot%\system32
然后再输入:cscrIPt.exe iisapp.vbs -a
CMD窗口显示如下:
W3WP.exe PID: 2488 AppPoolId: AppPool #26
W3WP.exe PID: 3008 AppPoolId: AppPool #2
W3WP.exe PID: 4704 AppPoolId: AppPool #15
W3WP.exe PID: 6388 AppPoolId: AppPool #19
W3WP.exe PID: 6004 AppPoolId: AppPool #8
奇怪的是,我还是弹出了窗口,不过不影响显示!有了这样对于就好办了,!
再任务管理器里面查看占用CPU和内存过高进程的PID值,就知道是哪一个应用程序池出了问题,就可以查到具体是什么网站有问题了!!!
相关资料:
win2000的解决方法
2000下要怎么办呢?win2000下不大方便,需要将站点的应用程序保护设置为高,默认是中。
然后打开管理工具 -> 组件管理,组件服务 — 计算机 — 我的电脑 — com+ 应用程序
选择查看 -> 状态查看,就可以看到类似如下的显示:
名称 运行 PID
IIS-{www.zoubin.com//Root} 是 2544
iisapp -a pid
可以查出对应的域名
反之 iisapp -p domain 查pid的语法
iisapp [a/
AppPoolName | /p
AppPoolID]
参数
/a AppPoolName
指定特定应用程序池的名称。(可选项)
/p AppPoolID
按 ID 号指定应用程序池。(可选项)
注释
如果未指定应用程序池名或 ID,则 iisapp 列出所有运行应用程序。
仅当使用 /s 时,
才可使用 /u 和 /p 命令行选项。必须同时使用 /p 和 /u 才能提供用户密码。
Iisext.vbs 执行 IIS 管理器中可用的相同操作。可使用任何一种工具管理 IIS 网站。
发出命令的计算机必须正在运行 Windows XP 或 Windows Server 2003 操作系统。用户必须是命令所影响的计算机上的 Administrators 组成员。
命令所影响的计算机必须是运行带有 Internet 信息服务 (IIS) 6.0 的 Windows Server 2003 的服务器。
说明一下:w3wp.exe为IIS里面的应用程序池进程,有几个进程就会有几个w3wp.exe,会发现某个w3wp.exe进程CPU和内存都高得可怕!
好,那我们来看看具体实践中该如何解决首先是windows2003
首先打开windows任务管理器–点击查看—选择列–把PID给钩上!!,,
就可以在进程里面看到PID的选项了
点击运行–输入CMD–输入iisapp -a—很奇怪,这里显示PID的,是用弹出窗口一个个出现的,不知道别人会不,,反正我就是这样,太不利于查看了!!
注意,希望人BLOG听说第一次运行,会提示没有js支持,点击确定.然后再次运行就可以了.这样就可以看到pid对应的应用程序池,这个我就没测试了!
这样吧,先再CMD里面输入:cd %systemroot%\system32
然后再输入:cscrIPt.exe iisapp.vbs -a
CMD窗口显示如下:
W3WP.exe PID: 2488 AppPoolId: AppPool #26
W3WP.exe PID: 3008 AppPoolId: AppPool #2
W3WP.exe PID: 4704 AppPoolId: AppPool #15
W3WP.exe PID: 6388 AppPoolId: AppPool #19
W3WP.exe PID: 6004 AppPoolId: AppPool #8
奇怪的是,我还是弹出了窗口,不过不影响显示!有了这样对于就好办了,!
再任务管理器里面查看占用CPU和内存过高进程的PID值,就知道是哪一个应用程序池出了问题,就可以查到具体是什么网站有问题了!!!
相关资料:
win2000的解决方法
2000下要怎么办呢?win2000下不大方便,需要将站点的应用程序保护设置为高,默认是中。
然后打开管理工具 -> 组件管理,组件服务 — 计算机 — 我的电脑 — com+ 应用程序
选择查看 -> 状态查看,就可以看到类似如下的显示:
名称 运行 PID
IIS-{www.zoubin.com//Root} 是 2544
[2]比较详细的iisapp使用实例代码
来源: 互联网 发布时间: 2013-12-24
iisapp -a pid
可以查出对应的域名
反之 iisapp -p domain 查pid的
Iisapp.vbs:IIS 应用程序查询脚本报告为特定的应用程序池提供服务且当前正在运行 w3pwp.exe 进程的进程标识符 (PID)。
语法
iisapp [a/ AppPoolName | /p AppPoolID]
参数
/a AppPoolName
指定特定应用程序池的名称。(可选项)
/p AppPoolID
按 ID 号指定应用程序池。(可选项)
注释
? 如果未指定应用程序池名或 ID,则 iisapp 列出所有运行应用程序。
? 仅当使用 /s 时,才可使用 /u 和 /p 命令行选项。必须同时使用 /p 和 /u 才能提供用户密码。
? Iisext.vbs 执行 IIS 管理器中可用的相同操作。可使用任何一种工具管理 IIS 网站。
? 发出命令的计算机必须正在运行 Windows XP 或 Windows Server 2003 操作系统。用户必须是命令所影响的计算机上的 Administrators 组成员。
? 命令所影响的计算机必须是运行带有 Internet 信息服务 (IIS) 6.0 的 Windows Server 2003 的服务器。
示例
下列示例显示在特定的情况下如何使用 iisapp。
返回页首
查看所有运行应用程序下列示例显示本地计算机上运行的所有应用程序池,按其进程 ID (PID) 和应用程序池 ID (AppPoolID) 标识。该命令忽略所有可选参数并接受默认值。
iisapp
Iisapp 发出如下响应信息:
正在连接到服务器 ...已完成。W3WP.exe PID:2232 AppPoolID:DefaultAppPool W3WP.exe PID:2608 AppPoolID:MyAppPool
返回页首
按进程 ID 查看运行应用程序如果知道特定应用程序的 PID,则可以使用下列命令检查其状态。
iisapp /p 2608
Iisapp 发出如下响应信息:
正在连接到服务器 ...已完成。W3WP.exe PID:2608 AppPoolID:MyAppPool
返回页首
格式图例
格式 意义
斜体
用户必须提供的信息
粗体
用户必须完全按照显示的那样键入的元素
省略号 (...)
可以在命令行中重复多次使用的参数
在括号 ([]) 之间
可选项目
在大括号 ({}) 之间,将选项用竖线 (|) 隔开。例如:{even|odd}
用户必须从中只选择一个选项的选项集
Courier font
代码或程序输出
可以查出对应的域名
反之 iisapp -p domain 查pid的
Iisapp.vbs:IIS 应用程序查询脚本报告为特定的应用程序池提供服务且当前正在运行 w3pwp.exe 进程的进程标识符 (PID)。
语法
iisapp [a/ AppPoolName | /p AppPoolID]
参数
/a AppPoolName
指定特定应用程序池的名称。(可选项)
/p AppPoolID
按 ID 号指定应用程序池。(可选项)
注释
? 如果未指定应用程序池名或 ID,则 iisapp 列出所有运行应用程序。
? 仅当使用 /s 时,才可使用 /u 和 /p 命令行选项。必须同时使用 /p 和 /u 才能提供用户密码。
? Iisext.vbs 执行 IIS 管理器中可用的相同操作。可使用任何一种工具管理 IIS 网站。
? 发出命令的计算机必须正在运行 Windows XP 或 Windows Server 2003 操作系统。用户必须是命令所影响的计算机上的 Administrators 组成员。
? 命令所影响的计算机必须是运行带有 Internet 信息服务 (IIS) 6.0 的 Windows Server 2003 的服务器。
示例
下列示例显示在特定的情况下如何使用 iisapp。
返回页首
查看所有运行应用程序下列示例显示本地计算机上运行的所有应用程序池,按其进程 ID (PID) 和应用程序池 ID (AppPoolID) 标识。该命令忽略所有可选参数并接受默认值。
iisapp
Iisapp 发出如下响应信息:
正在连接到服务器 ...已完成。W3WP.exe PID:2232 AppPoolID:DefaultAppPool W3WP.exe PID:2608 AppPoolID:MyAppPool
返回页首
按进程 ID 查看运行应用程序如果知道特定应用程序的 PID,则可以使用下列命令检查其状态。
iisapp /p 2608
Iisapp 发出如下响应信息:
正在连接到服务器 ...已完成。W3WP.exe PID:2608 AppPoolID:MyAppPool
返回页首
格式图例
格式 意义
斜体
用户必须提供的信息
粗体
用户必须完全按照显示的那样键入的元素
省略号 (...)
可以在命令行中重复多次使用的参数
在括号 ([]) 之间
可选项目
在大括号 ({}) 之间,将选项用竖线 (|) 隔开。例如:{even|odd}
用户必须从中只选择一个选项的选项集
Courier font
代码或程序输出
[3]Windows 安装IIS出现的问题(无法安装IIS,提示“安装程序无法复制文件IISApp.vbs”)
来源: 互联网 发布时间: 2013-12-24
这就是典型的windows安全数据库出问题了,可以用以下方法来解决这个问题:
Windows安全资料库,在%WinDir%\Security\database里。
台湾的资料库,大陆称为数据库。 在Windows作业系统里带有专门的Esentutl.exe工具,这是一个DOS工具,可用来查看和修复Windows安全资料库。
比如我有一次在安装IIS的元件时,发生了错误:
************************
复制错误 安装程式无法复制档 iisapp.vbs。 请确认下面指定的位置是正确的,或者更改它并在指定的驱动器中插入 'Service Pack 1 CD-ROM'。
当复制来源: C:\Windows\ServicePackFiles\i386 [浏览] [重试] [取消]
************************
这就是由于Windows安全资料库损坏所致。可用Esentutl.exe进行修复。
查看它的用法,用下面指令: esentutl /? 会显示如下提示:
Microsoft(R) Windows(R) Database Utilities Version 5.2 Copyright (C) Microsoft Corporation. All Rights Reserved. DESCRIPTION: Maintenance utilities for Microsoft(R) Windows(R) databases. MODES OF OPERATION: Defragmentation: ESENTUTL /d [options] Recovery: ESENTUTL /r [options] Integrity: ESENTUTL /g [options] Checksum: ESENTUTL /k [options] Repair: ESENTUTL /p [options] File Dump: ESENTUTL /m[mode-modifier] <<<<< Press a key for more help >>>>>
D=Defragmentation, R=Recovery, G=inteGrity, K=checKsum, P=rePair, M=file duMp =>
可见,检查资料库的完整性,要用/g,比如: esentutl /g C:\Windows\security\database\secedit.sdb
若要修复这个Windows安全资料库,用如下指令: esentutl /p C:\Windows\security\database\secedit.
用ESEnTUtl工具修复系统数据库1
Windows具有大量互相关联的数据库。当然,主要的数据库就是注册表,其中包含了系统、用户以及应用程序设置的全部信息。然而,Windows还包含大量你通常没有听说过的其他数据库。这些数据库以系统数据库文件形式保存,后缀为SDB。其中一些记录了应用程序的安装。你会发现通常他们的文件名为Setup.SDB。另一些记录了Service Pack的状态,具有类似这样的文件名:AppHelp.SDB, AppH_SP.SDB, DrvMain.SDB, MSIMain.SDB以及SysMain.SDB。还有其他的数据库来跟踪安全或其他不在注册表中显示的系统设置,如SecEdit.SDB。简而言之,Windows在除注册表以外的地方隐藏了大量的信息。你可以用“可扩展存储引擎技术工具“(Extensible Storage Engine Technology Utility, ESEnTUtl)来访问所有这些其他数据库。
并不是你硬盘上每个SDB文件都是数据库。混乱的是微软也把SDB扩展名用在一些文本文件上。比如,Visual Studio的Setup.SDB就是个文本文件。该文件能够告诉你许多关于应用的信息,但这些信息不是ESEnTUtl能够管理的格式。正确的SDB文件包括二进制数据。
警告:ESEnTUtl工具极端强大。在错误的文件上不正确地应用,会抹去安全信息或者使你的系统无法启动。因此,在你使用它之前确保你完全理解该工具。在修改任何数据库之前记得先做备份。在做之前通过微软知识库(Microsoft Knowledge Base)尽可能多地验证这些修改。
ESEnTUtl工具并不为你提供很多帮助信息。实际上,你很难在所有Windows帮助文件或者很多其他微软的资源中找到提及该工具的地方。你能找到提到它的一个地方就是微软知识库。许多Windows问题需要你用ESEnTUtl工具来修复。你可以通过用“ESEnTUtl site:support.microsoft.com”作为关键字在Google搜索到来自微软知识库的一些有关该工具使用的例子。
ESEnTUtl运行有几种模式。每种模式对SDB文件执行不同的任务。这里是每种模式的语法:
碎片整理模式: ESEnTUtl /d <数据库文件名> [选项]
恢复模式: ESEnTUtl /r [选项]
完整性检查模式: ESEnTUtl /g <数据库文件名> [选项]
修复模式: ESEnTUtl /p <数据库文件名> [选项]
校验模式: ESEnTUtl /k <数据库文件名> [选项]
文件转储模式: ESEnTUtl /m[模式修改符] <文件名>
复制模式: ESEnTUtl /y <源文件> [选项] ***仅用于Vista操作系统***
上述选项根据模式而不同。然而,有些选项在所有模式中通用。这里是通用选项:
/8 定义数据库分页大小为8KB。正常情况下,ESEnTUtl自动检测分页大小。只有当微软知识库告诉你或者读取数据库遇到问题时才使用该选项。
/o 禁用微软徽标。你可以用该选项来创建报表输出或者作为另一个数据库的输入。
/s <流文件名> 为流数据输出设置文件名。默认设置是NONE。当你想用流数据技术——而不是简单的转储——来发送数据时使用该选项。该选项适用于碎片整理、完整性检查、修复以及文件转储模式。
/t <数据库文件名> 设置临时数据库文件名。默认设置是TEMP-DFRG*.EDB。通常,你无需更改数据库文件名因为ESEnTUtl已经支持多个临时数据库。该选项适用于碎片整理、完整性检查以及修复模式。
注意:某些模式针对不同的目的使用同样的选项开关。因此,不要假定在碎片整理模式中的/f开关和完整性检查模式的/f开关执行同样的任务。
Windows安全资料库,在%WinDir%\Security\database里。
台湾的资料库,大陆称为数据库。 在Windows作业系统里带有专门的Esentutl.exe工具,这是一个DOS工具,可用来查看和修复Windows安全资料库。
比如我有一次在安装IIS的元件时,发生了错误:
************************
复制错误 安装程式无法复制档 iisapp.vbs。 请确认下面指定的位置是正确的,或者更改它并在指定的驱动器中插入 'Service Pack 1 CD-ROM'。
当复制来源: C:\Windows\ServicePackFiles\i386 [浏览] [重试] [取消]
************************
这就是由于Windows安全资料库损坏所致。可用Esentutl.exe进行修复。
查看它的用法,用下面指令: esentutl /? 会显示如下提示:
Microsoft(R) Windows(R) Database Utilities Version 5.2 Copyright (C) Microsoft Corporation. All Rights Reserved. DESCRIPTION: Maintenance utilities for Microsoft(R) Windows(R) databases. MODES OF OPERATION: Defragmentation: ESENTUTL /d [options] Recovery: ESENTUTL /r [options] Integrity: ESENTUTL /g [options] Checksum: ESENTUTL /k [options] Repair: ESENTUTL /p [options] File Dump: ESENTUTL /m[mode-modifier] <<<<< Press a key for more help >>>>>
D=Defragmentation, R=Recovery, G=inteGrity, K=checKsum, P=rePair, M=file duMp =>
可见,检查资料库的完整性,要用/g,比如: esentutl /g C:\Windows\security\database\secedit.sdb
若要修复这个Windows安全资料库,用如下指令: esentutl /p C:\Windows\security\database\secedit.
用ESEnTUtl工具修复系统数据库1
Windows具有大量互相关联的数据库。当然,主要的数据库就是注册表,其中包含了系统、用户以及应用程序设置的全部信息。然而,Windows还包含大量你通常没有听说过的其他数据库。这些数据库以系统数据库文件形式保存,后缀为SDB。其中一些记录了应用程序的安装。你会发现通常他们的文件名为Setup.SDB。另一些记录了Service Pack的状态,具有类似这样的文件名:AppHelp.SDB, AppH_SP.SDB, DrvMain.SDB, MSIMain.SDB以及SysMain.SDB。还有其他的数据库来跟踪安全或其他不在注册表中显示的系统设置,如SecEdit.SDB。简而言之,Windows在除注册表以外的地方隐藏了大量的信息。你可以用“可扩展存储引擎技术工具“(Extensible Storage Engine Technology Utility, ESEnTUtl)来访问所有这些其他数据库。
并不是你硬盘上每个SDB文件都是数据库。混乱的是微软也把SDB扩展名用在一些文本文件上。比如,Visual Studio的Setup.SDB就是个文本文件。该文件能够告诉你许多关于应用的信息,但这些信息不是ESEnTUtl能够管理的格式。正确的SDB文件包括二进制数据。
警告:ESEnTUtl工具极端强大。在错误的文件上不正确地应用,会抹去安全信息或者使你的系统无法启动。因此,在你使用它之前确保你完全理解该工具。在修改任何数据库之前记得先做备份。在做之前通过微软知识库(Microsoft Knowledge Base)尽可能多地验证这些修改。
ESEnTUtl工具并不为你提供很多帮助信息。实际上,你很难在所有Windows帮助文件或者很多其他微软的资源中找到提及该工具的地方。你能找到提到它的一个地方就是微软知识库。许多Windows问题需要你用ESEnTUtl工具来修复。你可以通过用“ESEnTUtl site:support.microsoft.com”作为关键字在Google搜索到来自微软知识库的一些有关该工具使用的例子。
ESEnTUtl运行有几种模式。每种模式对SDB文件执行不同的任务。这里是每种模式的语法:
碎片整理模式: ESEnTUtl /d <数据库文件名> [选项]
恢复模式: ESEnTUtl /r [选项]
完整性检查模式: ESEnTUtl /g <数据库文件名> [选项]
修复模式: ESEnTUtl /p <数据库文件名> [选项]
校验模式: ESEnTUtl /k <数据库文件名> [选项]
文件转储模式: ESEnTUtl /m[模式修改符] <文件名>
复制模式: ESEnTUtl /y <源文件> [选项] ***仅用于Vista操作系统***
上述选项根据模式而不同。然而,有些选项在所有模式中通用。这里是通用选项:
/8 定义数据库分页大小为8KB。正常情况下,ESEnTUtl自动检测分页大小。只有当微软知识库告诉你或者读取数据库遇到问题时才使用该选项。
/o 禁用微软徽标。你可以用该选项来创建报表输出或者作为另一个数据库的输入。
/s <流文件名> 为流数据输出设置文件名。默认设置是NONE。当你想用流数据技术——而不是简单的转储——来发送数据时使用该选项。该选项适用于碎片整理、完整性检查、修复以及文件转储模式。
/t <数据库文件名> 设置临时数据库文件名。默认设置是TEMP-DFRG*.EDB。通常,你无需更改数据库文件名因为ESEnTUtl已经支持多个临时数据库。该选项适用于碎片整理、完整性检查以及修复模式。
注意:某些模式针对不同的目的使用同样的选项开关。因此,不要假定在碎片整理模式中的/f开关和完整性检查模式的/f开关执行同样的任务。
最新技术文章: