问题标签 [windows2012]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
793 浏览

java - 在 Windows 2012 R2 上使用 log4j 启​​动 java jar

我需要在 Windows 2012 R2 Powershell(或命令行)的特定位置使用 log4j 配置启动 java jar。

我尝试了以下命令:

但是应用程序无法以 log4j 错误启动(在 WARN 之后):

具有相同 log4j.xml 的相同 jar 文件,在 Windows 2003(具有相同版本的 Java)上由相同的命令运行正确启动。

我还尝试了 log4j 文件 URI 的一些修改(“file://C:\myApp\resources\log4j.xml”、“file://C:/myApp/resources/log4j.xml”、“file://C :\\myApp\\resources\\log4j.xml" 或 "file:C:\\myApp\\resources\\log4j.xml"),就像我在 Internet 上找到的那样。

有没有人有任何建议,如何启动罐子?

解决方案:神奇之处在于使用引号并从管理员 powershel 运行(我不知道为什么,但它有效):

0 投票
3 回答
1565 浏览

c# - ASP.NET 不断编译

在将我们的 ASP.NET(主要是带有 AJAX 的表单)应用程序部署到一台特定的生产机器之后,重新编译过程(其中 w3wp.exe 为每个 aspx 或 ascx 文件调用 CSC.exe)会持续数小时。因此,Web 应用程序的性能非常缓慢。当部署到其他生产机器时,这些完全相同的应用程序会在几分钟内完成编译。

这些 aspx 编译只在 ProcExp 中可见一秒钟,它们使用的命令行涉及一个在编译后立即删除的参数文件,因此我很难监控正在编译哪些文件,或者查看是否是同一个文件正在编译不止一次。有什么方法可以记录编译过程,以便我可以尝试找出这台机器行为异常的原因?

我知道我们可以使用 aspnet_compiler.exe 来预编译整个应用程序,但是将其纳入构建和部署工作流程(TFS 2010 加上 OctopusDeploy)会有点痛苦。此外,我在命令行“手动”进行预编译的尝试不起作用。预编译成功,但是当 IIS 指向目标目录时,对任何文件的任何请求都会引发此类错误:

异常类型:HttpException

异常消息:文件“/default.aspx”尚未预编译,无法请求。

ETA:这就是我想从这个问题中得到的

  1. 我应该检查什么来确定为什么这台机器要花这么多时间编译?
  2. 我可以做些什么来记录正在编译的文件是什么时候?
0 投票
1 回答
3202 浏览

visual-c++ - 如何在没有 Windows 安装程序的情况下安装 vc++ 可再发行组件

在我们的产品中,我们必须禁用“Windows 安装程序”服务(安全方面)。在 Windows 2012 中,无法使用 sc.exe 执行此操作,因此我们必须更改注册表中服务的值 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msiserver ---> start = 4)

现在,作为我们产品的升级过程,我们需要安装“VC++ 2013 redist”

1)是否可以在不使用 Windows 安装程序的情况下安装此软件包?

2)或者,是否可以在不重新启动机器的情况下启动“已禁用”的 Windows 安装程序服务?

非常感谢,丹尼尔。

0 投票
2 回答
12099 浏览

performance - 什么会导致 Tomcat (v8) 周期性地出现 CPU 峰值

在 Windows 2012 RT (x64) TEST 服务器上,我们正在运行 Tomcat 8 安装,CPU 使用率在其达到峰值使用率的规律性方面令人不安。

该行为发生在我们的应用程序安装之后但任何人访问它之前。我已经访问了几页并测试了一些功能,但没有任何东西可以创建我所知道的这种行为。

服务器上有 2 个虚拟处理器,每隔约 20 秒,CPU 使用率(在运行 Tomcat 的一个处理器上)会飙升至 100%,持续 10 秒(给予或接受)。见下文:

周期性尖峰图

模式的规律性向我表明,Tomcat 8 的安装或设置有问题。

我已经安装了 YourKit Java Profiler(通过 SO 推荐),我希望它可以阐明导致这些峰值的原因,但无法看到线程启动的原因——至少部分是因为我的新奇到 YourKit。我确实将它附加到 Tomcat 启动文件中,它似乎正在跟踪行为。

catalina 日志在尖峰事件期间保持沉默(就像我的应用程序日志一样),但是当我停止 Tomcat 时,有一些关于 ThreadLocals 启动但无法删除的消息,然后:“......线程将随着时间的推移而更新尽量避免可能的内存泄漏。”

我让服务器在周末运行,这种模式一直持续到今天,所以我认为我的症状不会消失。现在无论启动什么,只要每 20 秒启动一次这些线程(和/或 YourKit) ,就已经消耗了系统上所有可用的 RAM 。

隔离这种异常的 Tomcat 活动并希望停止或纠正它的可能方法是什么?

YourKit 中有很多图表和标签,所以我不愿列出所有可能有用的东西。感谢您帮助我缩小 YourKit(或其他工具)可以提供给我的问题。

catalina 日志中有关启动的信息:

2015-12-08 更新

根据 Gergely 的要求,该应用程序是 DSpace 的本地安装。这是一个带有 Postgres SQL 数据库后端的 Java 应用程序。我们正在从这里定制它的开源版本:http ://www.dspace.org/introducing 。我不确定还有什么有用的,我认为堆栈跟踪更能说明什么正在运行(和没有运行)——见下文。

通过在 YourKit 中打开 Stack Telemetry,“CPU Estimation”可以通过将光标拖过一段时间的分析器历史来实现。对我来说,看起来所有 CPU 都在空转。Java 文件是Tomcat 例程下图所示的吗?它们并没有因为与 DSpace 相关(尽管我不是专家)而让我感到震惊,而且在 CPU 达到峰值时看起来也没有任何工作正在完成。

注意:堆栈跟踪在安静期间是相同的——唯一的区别是 CPU 时间(毫秒)是数百毫秒而不是数千毫秒。为了比下面更直接的比较,驼峰在 Thread.run() 中表示约 8,000 毫秒,而安静期消耗约 125 毫秒的 cpu 时间(尽管涵盖的时间量大致相同)。

最后,当请求应用程序的页面时,调用树中会出现一个后续的代码分支。如果它发生在峰值期间,加载整个页面可能只需要 400 毫秒的 CPU 时间。出现的代码分支是 ApplicationFilterChain.java 作为与 PooledExecutor$Worker.run() 旁边的一个完整的单独分支——两者都位于层次结构中的 java.lang.Thread.run() 之下。

试图解释堆栈跟踪时:EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()负责吗?

没有已知的相关活动的处理器峰值

CPU 分析

2015-12-08 更新 #2

YourKit 预先配置为隐藏某些 java 类名模式,这些模式掩盖了对 java.lang.Thread 的深入了解。清除过滤器启用了以下屏幕截图,显示峰值事件期间的绝大多数处理时间是通过调用以下 3 个方法:

  • java.io.WinNTFileSystem.canonicalize0
  • java.io.WinNTFileSystem.getBooleanAttributes (inFile.exists())
  • StardardRoot.java

我对 Tomcat 或 DSpace 还不够了解,无法知道是谁在启动这些任务,我深表歉意。(如果重要的话,第一行正上方的行是java.lang.Thread.run()then <All threads>

更好的堆栈跟踪

0 投票
1 回答
212 浏览

apache - 无法在服务器外部访问我的 Web 应用程序 (apache)

我已经在 Windows 2012 服务器上设置了一个映射应用程序,带有 apache Web 服务器。可以在该服务器中使用此URL访问该应用程序。但无法访问服务器外部。

我已经在 apache .conf 文件中为“listen”参数提供了 IP。希望那很好。正在 ping 的 IP 正在从本地计算机 ping。托管支持确认没有防火墙阻止访问。

我还应该做些什么来纠正这个问题?

0 投票
1 回答
2423 浏览

iis-7.5 - IIS 托管网站出现故障。如何调查

我有一个在 Windows 2012/IIS 7.5 环境下运行的数据驱动网站。昨晚跌了2分钟。偶尔它会这样做。

我们的防火墙在网站上监控,我可以在一分钟内看到 500 个响应,如下所示。然后在 2 分钟后它上升并产生 200 个。

我在事件查看器上看不到任何内容。

您将如何调查这些没有明显原因的问题?

谢谢你的时间!

R M

0 投票
1 回答
124 浏览

windows - 是否可以抑制或重定向 Windows 套接字通知接收器错误?

这是 GUI 编程中 MSDN 大师的问题。

我对此进行了一些谷歌搜索,只找到了这个链接StackOverflowLink,它讨论了导致 Socket Notification Sink 错误的原因。

应用环境目前是Win2003/VS6.0/MFC/C++ 我们正在迁移到Win2012/VS2013/C++/?MFC?。(我使用问号,因为我不直接参与 GUI 实现并且不知道路线图)。

就我而言,我使用一个或多个由于某种原因崩溃的应用程序。这将生成 1 到 300 个“套接字通知接收器”对话框,必须在恢复开始之前单独关闭这些对话框。

我正在寻找一些建议:

  1. 清理崩溃以防止对话框发生的方法。

  2. 指示 Windows 运行时在出错时不生成对话框的方法。将错误重定向到日志或错误控制台。

  3. 通过鼠标单击/击键关闭所有错误对话框的方法

我发现 Stack Overflow 是一个很棒的资源。我希望这个问题对其他人和我自己都有帮助。我将继续挖掘并发布我认为相关的任何内容。-问候罗斯

0 投票
1 回答
628 浏览

c# - Windows 2012 R2 中的管理员 DOS/CMD 窗口不接受 C# 控制台应用程序中预期的 ESC 键

这是在我的本地 Windows 8 和 VS .NET 2015 环境中运行的控制台应用程序的 C# 代码片段。当我在本地 Windows 8 机器上的管理员 DOS/CMD 窗口中运行控制台应用程序时,它也可以工作。

使用 Windows 远程桌面连接到 Windows 2012 R2 服务器时,控制台应用程序(以管理员身份打开的 DOS/CMD 窗口)不接受 ESC 键。

我知道 Windows 2012 R2 在使用远程桌面时具有用于特殊命令的特殊键,但是,这是 ESC 键在 DOS/CMD 窗口中无法与远程桌面一起使用到 Windows 2012 R2 。

我知道我可以使用不同的键(或其他组合),但我想知道为什么 ESC 键在这种情况下不被 DOS/控制台窗口“接受”。

[编辑]:好的,我需要在这里更具体。

我真的想将 EXE 作为控制台应用程序运行。我发布的代码在 Windows 2008 中工作,但还有更多!在将结果输出到 CMD/DOS 提示符之前,我必须首先附加到现有的父 CMD 窗口。我将在以下 URL 中找到的代码用于新的 AllocConsole() 或 AttachConsole()。 http://www.jankowskimichal.pl/en/2011/12/wpf-hybrid-application-with-parameters/

在 Windows Server 2008 和 Windows Server 2012 上,它始终写入我使用 Console.Write.... 编写的所有内容。

但是,在 Windows Server 2012 中,此代码不再使用 ReadKey() 或上面最初发布的代码接受我的输入。

代码片段(bool "show" = true 是否附加到控制台; false 分离)。同样,在所有情况下都可以输出,但不会在 Console.ReadKey() 处接受我的输入。

[剪辑]

[剪辑]

0 投票
0 回答
616 浏览

java - 如何使用winrun4j在Windows 2012服务器上启动独立的oc4j应用服务?

我们在 Windows 2012 R2 服务器上运行 Oracle 独立 OC4J J2EE Web 应用程序服务器。启动oc4j服务器的命令行如下:

J2EE_HOME 系统范围的环境变量已正确设置,我们可以从命令行启动 Web 服务器。

现在我们需要将 OC4J 服务器作为 Windows 服务运行。为此,我们下载了 WinRun4J 开源应用程序。按照 winrun4j 的指示,我执行了以下操作:

初始化文件包含以下几行:

我在命令行执行了以下命令,将图标和初始化文件绑定到可执行文件:

RCEDIT64.exe /I OC4J_WebServer.exe OC4J_WebServer.ico RCEDIT64.exe /N OC4J_WebServer.exe OC4J_WebServer.ini

最后,我运行了OC4J_WebServer.exe --WinRun4J64:RegisterService创建 Windows 服务的命令。我收到以下错误:

我没有声称自己是 Java 开发人员,并希望有人能帮助我。我想做的就是能够从java -jar %J2EE_HOME%\oc4j.jar命令中创建一个 Windows 服务。

对于如何设置它,我将不胜感激。

0 投票
0 回答
960 浏览

powershell - 为什么 cmdkey 在 SYSTEM 帐户下不起作用?

我在 Windows Server 2012 上运行 PowerShell 脚本。 cmdkey 命令在用户帐户下运行良好,但每次在该WORKGROUP\SYSTEM帐户下都失败。那是因为系统帐户限制吗?

有解决方法吗?