linux查看tomcat内存
1. 如何查看linux tomcat 使用的内存情况
1、 linux下的tomcat: 修改TOMCAT_HOME/bin/catalina.sh 位置cygwin=false前。 java_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:Max
2. [命令]linux下查看tomcat是否启动(ps、grep)
ps -ef |grep tomcat如果有一大长长长串的东西出现,说明tomcat是启动了,第一个是启动该进程的用户,第二个是该进程的id,第三个 是占用CPU的百分比,第四个是占用内存的百分比懒的敲了,其他的:USERPID%CPU%:该 process 属于那个使用者账号的? PID:该 process 的号码。 %CPU:该 process 使用掉的 CPU资源百分比;? %MEM:该 process 所占用的物理内存百分比;? VSZ:该 process 使用掉的虚拟内存量 (Kbytes)? RSS:该 process 占用的固定的内存量 (Kbytes)? TTY:该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0等等的,则表示为由网络连接进主机的程序。 STAT:该程序目前的状态,主要的状态有:o R:该程序目前正在运作,或者是可被运作;o S:该程序目前正在睡眠当中 (可说是 idle 状态啦!o T:该程序目前正在侦测或者是停止了;
3. 如何修改和查看tomcat内存大小
为了解决tomcat在进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式:
一、使用 catalina.bat 等命令行方式运行的 tomcat
查看系统是否能支持所填最大内存命令:java -Xmx1024m -version,当所填值不合法时,执行该命令将报错
1、修改 tomcat\bin\Catalina.bat 文件
windows环境下:
在166行左右
rem Execute Java with the applicable properties ”以下每行
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
在 %DEBUG_OPTS% 后面添加-Xms256m -Xmx512m
linux环境下:
打开在Tomcat的安装目录的bin文件的catalina.sh文件,进入编辑状态.
在注释后面加上如下脚本:
JAVA_OPTS='-Xms512m -Xmx1024m'
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=64M -XX:MaxPermSize=256m"
其中 JAVA_OPTS='-Xms512m -Xmx1024m' 是设置Tomcat使用的内存的大小.
-XX:PermSize=64M -XX:MaxPermSize=256m 指定类空间(用于加载类)的内存大小
保存后,重新以命令行的方式运行 tomcat ,即可,然后通过最后面介绍的如何观察tomcat现有内存情况的方法进行查看是否已经变更成功。
二、使用 系统中的 “服务”,或者开始菜单的可执行程序运行的tomcat
1、关闭 现在正在运行的tomcat
2.1 [注意]
[高版本tomcat配置方法]
如果是tomcat 5.5 或者是 5.0.28 之后的版本,在 Java 选项卡中,下方,会有
Inital memory Pool:
Maximum memory Pool:
Thread stack size:
三个输入框,在这里即可不用做上面的操作,直接配置内存大小,只需要设置
Inital memory Pool 为 256
Maximum memory Pool 为 512
点击确定后,重启tomcat 生效
如果您是低版本的tomcat,发现没有上面那几个录入框,请看下面的操作步骤
[低版本tomcat配置方法]
在开始菜单中,找到“Apache Tomcat 5.0”,并选择“Configure Tomcat”,在弹出的对话框窗口中,切换到 Java VM 选项卡,并在 Java Options 输入框的最前面输入
-Xms256m -Xmx512m
即输入框中的内容会像下面的代码(与自己的环境有所区别)
-Xms256m -Xmx512m
-Dcatalina.home="C:\tomcat5"
-Djava.endorsed.dirs="C:\tomcat5\common\endorsed"
-Xrs
设置完后,点击“确定”,并重启tomcat即可。
三、查看现有tomcat的内存大小情况
1、启动tomcat
2、访问 http://localhost:8080/manager/status ,并输入您在安装tomcat时输入的用户与口令,如 admin ,密码 admin(密码是您在tomcat安装时输入的)
注:添加用户,修改conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
3、进入了Server Status页面,可以在JVM表格中看到
Free memory: 241.80 MB Total memory: 254.06 MB Max memory: 508.06 MB
上面的文字即代表了,当前空闲内存、当前总内存、最大可使用内存三个数据。
确定了最大内存足够大时,tomcat即可正常运转
最后总结下内存设置中常用的几个参数
(1)-Xms,jvm启动时,初始分配的堆/栈内存
(2)-Xmx,JVM最大允许分配的堆/栈内存,按需分配
(3)-Xss,设定每个线程的堆栈大小
(4)-XX:PermSize,JVM初始分配的非堆内存
(5)-XX:MaxPermSize,JVM最大允许分配的非堆内存,按需分配
举例:
-Xms256m -Xms512m -XX:PermSize=64m -XX:MaxPermSize=128m
4. linux查看tomcat运行了多长时间
ps -ef |grep tomcat
如果有一大长长长串的东西出现,说明tomcat是启动了,第一个是启动该进程的用户,第二个是该进程的id,第三个 是占用CPU的百分比,
第四个是占用内存的百分比
5. linux环境下tomcat的内存怎么设置
为了解决tomcat在进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式: 一、使用 catalina.bat 等命令行方式运行的 tomcat 查看系统是否能支持所填最大内存命令:java -Xmx1024m -version,当所填值不合法时...
为了解决tomcat在进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式: 一、使用 catalina.bat 等命令行方式运行的 tomcat 查看系统是否能支持所填最大内存命令:java -Xmx1024m -version,当所填值不合法时...
6. 如何看linux下tomcat内存使用情况
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
export JAVA_HOME=/usr/java/jdk1.6.0_13
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
export LANG=en_US.UTF-8
ram_max=25
pid_ram=`ps -ef | grep java| grep -v "grep"|awk '{print $2}'|xargs|awk '{print $1}'`
ram=`ps -e -o 'user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,command' |grep java|grep -v grep |awk '{print $4}'|xargs|awk '{print $1}'`
#echo $pid_ram
#echo $ram
#echo $ram_max
if(echo $ram $ram_max | awk '!($1>$2){exit 1}')
then
#echo 1
kill -9 $pid_ram
sleep 2
cd /usr/java/tomcat5.5/bin
./startup.sh
fi
关于基础和服务器的服务可以网络《Linux就该这样学》官网的技术干活里面有Linuxs中安装Oracle11g安装过程讲解,希望可以帮到你
7. linux 修改tomcat 内存吗
生产环境是有必要修改的,jvm的参数大小不会跟系统的内存大小而变化的。
tomcat默认jvm一般是1g,如果超过1g,那么会报内存溢出错误。它看的不是物理内存
8. 几种常见的操作tomcat的linux命令
重启tomcat
ps x 查看pid
kill -9 pid 杀死进程
/app/tomcat/bin/startup.sh 启动tomcat
追踪日志
tail -f /app/tomcat/log/*.log
配置文件
vi /app/tomcat/webapp/root/WEB-INF/server.properties 查看服务器配置
vi /app/tomcat/webapp/root/WEB-INF/web.xml 查看后端文件位置
vi /app/tomcat/webapp/root/WEB-INF/common-applicationcontext.xml 查看数据库
查看内存溢出
top 查看系统性能
jmap -heap pid 打印heap的概要信息
jmap -histo pid 打印每个class的实例数目,内存占用,类全名信息
jmap -mp:format=b,file=heap.bin pid 输出heap信息到heap.bin文件
jhat -J-mx768m heap.bin 分析heap.bin文件
最好使用eclipse的MAT查看heap.bin,相比jhat等更加直观,容易发现内存溢出
查看死锁
jstack -l pid > deadlock.jstack 输出stack信息到deadlock.jstack
vi deadlock.jstack 使用vi查看
数据库导出
/usr/local/mysql/bin/mysqlmp -u root -p test > test_new.sql
数据库导入
/usr/local/mysql/bin/mysql -u root -p test < test_new.sql
选择性查看日志
grep * /app/tomcat/log/*.log|cut -d '#' -f 8-9|sort -t '#' -u
9. linux下 tomcat能用多大内存
这取决于你的物理内存大小,其实不是TOMCAT能用多大,而是JVM的一些默认参数问题,如果你不改JAVA_OPTS,那么大约能占物理内存的1/4——1/2(但最多应该不会超过2G)。
如果你自己改了JAVA_OPTS,那就最大可以用把内存用完