-
Notifications
You must be signed in to change notification settings - Fork 0
linux常用命令
zhangjie edited this page Oct 12, 2020
·
4 revisions
- 查找某个文件的位置:find / -name tnsnames.ora
- netstat 查看端口占用语法格式:netstat -tunlp | grep 端口号
2.1 -t (tcp) 仅显示tcp相关选项
2.2 -u (udp)仅显示udp相关选项
2.3 -n 拒绝显示别名,能显示数字的全部转化为数字
2.4 -l 仅列出在Listen(监听)的服务状态
2.5 -p 显示建立相关链接的程序名 - 查看磁盘的使用情况:df -h
3.1 查看哪个目录占用空间大:du -s /* | sort -nr
3.2 那个目录占用多 再通过:du -s /root/* | sort -nr 一层层排查
3.3 清空文件内容:echo "" > filename
3.4 删除文件夹:rm -rf /var/access 删除文件:rm -r /var/access/xx.log
- 查看内存使用情况:free -m
4.1 单位 -m:兆
- top 命令查看CPU、内存等使用情况
- 定位问题线程:ps -mp pid -o THREAD,tid,time(pid:指定问题进程)
2.1 查看top命令查看什么线程占用了CPU:top -p 1234(PID) -H
2.2 通过jstack查看高占用CPU的是什么线程 - 查看问题线程堆栈
3.1 将线程id转换为16进制:printf "%x\n" 6766(6766为线程)
3.2 jstack查看线程堆栈信息: jstack pid |grep tid
- 垃圾回收堆的行为统计:jstat -gc pid (查询命令参数解释)
- jstack 和 jmap 分析进程堆栈和内存状况
2.1 生成堆dump文件:jmap -dump:format=b,file=dump.bin 6764
(1)dump:live,format:live表示在生命周期内的内存对象
(2)dump文件一般很大,查看内存最多的类型:jmap -histo 12309 > heap.log
2.2 生成堆栈信息:jstack -l 6764 >> jstack.out
2.3 对文件添加权限:chmod 777 xxx
- 分析dump文件
1.1 点击文件 -> 装入,文件类型选择堆
--> 可以看到dump文件当时的堆信息
1.2 对堆内对象进行分析:OQL 1.3 堆查看内存不足:Java_home/lib/visualvm/etc/visualvm.conf文件中visualvm_default_options="-J-client -J-Xms24 -J-Xmx256m"
-->把256调大,然后重启jvisualVM即可
-
首先查看/etc/profile中的路径等等有没有问题
-
用which java 和which javac查看jdk所在
-
进入文件夹:/usr/java/jdk1.6.0_45/bin
-
如果软连接链接的地方不是所需jdk的目录,那就rm -rf java 和rm -rf javac然后重新链接
4.1 ln -s $JAVA_HOME/bin/javac /usr/bin/javac
4.2 ln -s $JAVA_HOME/bin/java /usr/bin/java -
java -version权限不足时
5.1 sudo chmod a+x /usr/bin/java
5.2 sudo chmod a+x /usr/bin/javac