Tomcat-如何检查当前使用的内存设置

Modified on: Tue, 06 Aug 2019 01:00:02 +0800

我使用Server 2008和IIS 7设置了Tomcat服务器
如何判断JAVA_OPTS环境变量是否实际被使用?

我之前听说过我必须编辑service.bat文件才能使用JAVA_OPTS环境变量,但是如何判断它是否成功?

我无法确定是否有办法在日志中查看此内容或其他更具量的内容。
我想到尝试测试它的唯一方法是编辑变量并尝试判断性能是否存在差异。
我将JAVA_OPTS设置为以下内容:

-server -Xmx1k -Xms1k-Xmn1k -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:PermSize=1k -XX:MaxPermSize=1k  

另外,我发现文档说要更改service.bat中的以下行:

"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256

为:

"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" %JAVA_OPTS%

运行命令时没有错误

service install ServiceName

到目前为止,在我使用更改的内存设置重新安装服务之前,所有内容似乎都一如既往地运行,让我觉得JAVA_OPTS没有影响任何内容。

很抱歉,如果这是一个广泛的问题,但我还没有找到一个良好的领先优势,关于后端实际发生的事情。
有人可以对此有所了解吗?

最佳答案

好吧,我找到了我正在寻找的信息,所以我会接受我的回答,因为我提供了更多的细节,但是给David Levesque +1了。

我发现我试图设置的内存设置没有被使用。为了更改内存设置,我在\ bin文件夹中使用了tomcat7w。

运行以下命令:

tomcat7w //ES//<ServiceName>

然后会弹出以下内容:

单击带下划线的Java选项卡,并在突出显示的区域中添加参数。


为了检查这个,我使用了jinfo可执行文件(在\ bin文件夹中)。
Jinfo打印给定Java进程的Java配置信息。
使用以下语法运行此命令:

jinfo -flags PID-of-Tomcat-executable

下面的小脚本让我每次都找不到Tomcat的PID,所以我想我也可以在这里发布:

@echo off
for /f "tokens=1,2 delims= " %%i in ('=tasklist ^| findstr "tomcat"') do (
    echo Tomcat Executable = %%i
    echo Tomcat Process ID = %%j
    set tomcat_pid=%%j
)
echo %tomcat_pid%
%JAVA_HOME%\bin\jinfo -flags %tomcat_pid%

相关问答

添加新评论