您的位置:首页 > 运维架构 > Tomcat

【原创】linux下tomcat安装及常用命令

2013-12-17 20:54 543 查看

一、tomcat安装

1.首先要安装JDK(这里选用1.7版本),因为tomcat是运行在jvm上的。这也是为何java的可移植性好的原因。

jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

下载后复制到/opt文件夹内解压即可。

为方便以后替换JDK,为其做软链接 “ln -s jdk1.7.0_45 java” --- 指令说明"ln -s jdk根目录文件夹名 我起的软链接名字"

2.安装tomcat,wget 就好"wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz"
下载后复制到/opt文件夹内解压即可。

同样为tomcat做软链接,“ln -s apache-tomcat-7.0.47 tomcat” 方便以后的替换升级。

3.修改 /etc/profile 文件

vim /etc/profile

#在最后插入
export JAVA_HOME="/opt/java"
export PATH="$PATH:$JAVA_HOME/bin"


二、linux常用命令

首先,说下“/bin”文件夹,此文件夹一般保存二进制可执行文件。我们执行的命令也都是这些二进制文件,这就有了配置PATH时,要把他指向"$JAVA_HOME"的bin文件夹,就是为了让系统能够找到你输入的指令对应哪个程序或脚本来执行。

linux命令超级多,就说几个人觉得对java调试比较有帮助的吧!

1.jmap -heap PID

查看java 堆(heap)使用情况

using thread-local object allocation.
Parallel GC with 4 thread(s)    //GC 方式 Heap Configuration: //堆内存初始化配置
MinHeapFreeRatio=40       //对应jvm启动参数-XX:MinHeapFreeRatio设置JVM堆最小空闲比率(default 40)
MaxHeapFreeRatio=70       //对应jvm启动参数 -XX:MaxHeapFreeRatio设置JVM堆最大空闲比率(default 70)
MaxHeapSize=512.0MB      //对应jvm启动参数-XX:MaxHeapSize=设置JVM堆的最大大小
NewSize = 1.0MB         //对应jvm启动参数-XX:NewSize=设置JVM堆的‘新生代’的默认大小
MaxNewSize =4095MB      //对应jvm启动参数-XX:MaxNewSize=设置JVM堆的‘新生代’的最大大小
OldSize = 4.0MB         //对应jvm启动参数-XX:OldSize=<value>:设置JVM堆的‘老生代’的大小
NewRatio = 8           //对应jvm启动参数-XX:NewRatio=:‘新生代’和‘老生代’的大小比率
SurvivorRatio = 8         //对应jvm启动参数-XX:SurvivorRatio=设置年轻代中Eden区与Survivor区的大小比值
PermSize= 16.0MB        //对应jvm启动参数-XX:PermSize=<value>:设置JVM堆的‘永生代’的初始大小
MaxPermSize=64.0MB      //对应jvm启动参数-XX:MaxPermSize=<value>:设置JVM堆的‘永生代’的最大大小

Heap Usage: //堆内存分步
PS Young Generation
Eden Space: //Eden区内存分布
  capacity = 20381696 (19.4375MB) //Eden区总容量
  used = 20370032 (19.426376342773438MB) //Eden区已使用
  free = 11664 (0.0111236572265625MB) //Eden区剩余容量
  99.94277218147106% used //Eden区使用比率
From Space: //其中一个Survivor区的内存分布
capacity = 8519680 (8.125MB)
used = 32768 (0.03125MB)
free = 8486912 (8.09375MB)
0.38461538461538464% used
To Space: //另一个Survivor区的内存分布
capacity = 9306112 (8.875MB)
used = 0 (0.0MB)
free = 9306112 (8.875MB)
0.0% used
PS Old Generation //当前的Old区内存分布
capacity = 366280704 (349.3125MB)
used = 322179848 (307.25464630126953MB)
free = 44100856 (42.05785369873047MB)
87.95982001825573% used
PS Perm Generation //当前的 “永生代” 内存分布
capacity = 32243712 (30.75MB)
used = 28918584 (27.57891082763672MB)
free = 3325128 (3.1710891723632812MB)
89.68751488662348% used

2. jmap -histo pid

查看堆内存(histogram)中的对象数量,大小

num #instances #bytes class name

序号 实例个数 字节数 类名
----------------------------------------------
1: 3174877 107858256 [C
2: 3171499 76115976 java.lang.String
3: 1397884 38122240 [B
4: 214690 37785440 com.tongli.book.form.Book
5: 107345 18892720 com.tongli.book.form.Book
6: 65645 13953440 [Ljava.lang.Object;
7: 59627 7648416 <constMethodKlass>
8: 291852 7004448 java.util.HashMap$Entry
9: 107349 6871176 [[B

..........

total 9150732 353969416

3. jmap - dump pid

将内存使用的详细情况输出到文件

jmap -dump pid > ~/ filename

sun 官方文档 http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html
class name对应的就是Class文件里的class的标识
B代表byte
C代表char
D代表double
F代表float
I代表int
J代表long
Z代表boolean
前边有[代表数组,[I 就相当于int[]

对象用[L+类名表示

4.show processlist; (mysql 内的指令)

  查看mysql当前对外提供了多少连接,可以帮助你知道你的数据库状态,是否达到最大连接数,或者你数据库连接池的上限;

5.tail -f filename(文件名) -n Number(显示行数)

从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。Number 变量的值可以是正的或负的整数。如果值的前面有+(加号),从文件开头指定的单元数开始将文件写到标准输出。如果值的前面有-(减号),则从文件末尾指定的单元数开始将文件写到标准输出。如果值前面没有+(加号)或-(减号),那么从文件末尾指定的单元号开始读取文件。

记住吧,查日志就靠他了,如果你不想在几十个G的日志面前跪下的话。

详见:http://www.2cto.com/os/201111/110143.html

6.netstat -lpn & netstat -apn

-lpn:监听端口,可以判定服务是否启动;

-apn: 共有多少连接;

方便统计,可以结合“wc -l”一起使用,如:“netstat -apn | wc -l”;

7.wc

这个命令很好记,是不是!

wc -c filename: 显示一个文件的字节数

wc -m filename: 显示一个文件的字符数

wc -l filename: 显示一个文件的行数

wc -L filename: 显示一个文件中的最长行的长度

wc -w filename: 显示一个文件的字数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: