Java面试12|Linux及Shell脚本
2017-08-10 09:43
253 查看
1、关于awk命令的面试题
(1)最近登录的5个帐号
(2)用awk统计文本行数
(3)Test内容如下:
name#######average#######total
zhangsan xxx xxx
lisi xxx xxx
wangwu xxx xxx
其中average为平均成绩,而total为总成绩
(4)这个文件夹里面每一层级都有个.svn隐藏文件夹,需要删除,使用如下命令:
参考:http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html
2、编写一个简单的Shell脚本
查找/root/目录下是否存在该文件
3、Linux系统监控命令
(1)top命令:Linux命令。可以查看实时的CPU使用情况。也可以查看最近一段时间的CPU使用情况。(2)ps命令:Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前CPU使用情况。属于当前状态的采样数据。
(3)jstack:Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。
(4)pstack:Linux命令。可以查看某个进程的当前线程栈运行情况。
(5)磁盘使用情况:iostat
具体可以参看文章:https://i.cnblogs.com/EditPosts.aspx?postid=5702288&update=1
4、线上CPU100%,如何定位和排查问题
(1) 1.jps 获取Java进程的PID
2.jstack pid >> java.txt 导出CPU占用高进程的线程栈
3.top -H -p PID 查看对应进程的哪个线程占用CPU过高
4.echo “obase=16; PID” | bc 将线程的PID转换为16进制,大写转换为小写
5.在第二步导出的Java.txt中查找转换成为16进制的线程PID。找到对应的线程栈,分析负载高的线程栈都是什么业务操作。优化程序并处理问题。
(2)
1.使用top 定位到占用CPU高的进程PID,并查看进程具体信息
-m显示所有的线程
-p pid进程使用cpu的时间
-o 用户自定义格式
tid 线程id
sort命令的两个参数:
-n 依照数值的大小排序
-r 以相反的顺序来排序
3.将需要的线程ID转换为16进制格式
参考文章:
(1)http://www.cnblogs.com/dragonflyyi/p/4343778.html
(2)http://www.cnblogs.com/pangguoping/p/5715848.html
相关文章推荐
- Java执行Shell脚本“No such file or directory” (win->Linux)异常的可能原因
- linux下运行java程序的shell脚本
- Java for linux Runtime 执行需要转义的脚本(shell) 分类: Linux Java 2014-12-25 20:35 343人阅读 评论(2) 收藏
- java调用linux中的shell脚本
- Linux Shell脚本面试25问
- Linux中使用Shell脚本查看Java线程的CPU使用情况
- 如何在java程序中调用linux命令或者shell脚本
- 如何在java程序中调用linux命令或者shell脚本
- linux中java调用shell脚本
- Java之美[从菜鸟到高手演练]之Linux下shell脚本的使用(一)
- Linux中,shell脚本调用java程序模板
- 在java程序中如何调用linux的命令?如何调用shell脚本呢?
- Linux下Java程序的启动shell脚本
- java 执行linux命令或shell脚本方法
- Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息
- Linux下Java程序的启动shell脚本
- java调用windows系统的批处理(.bat文件) 和 linux系统的shell脚本(.sh文件)
- linux下shell脚本启动java程序jar包
- Linux下运行java代码的Shell脚本设置
- Java for linux Runtime 执行需要转义的脚本(shell) 分类: Linux Java 2014-12-25 20:35 344人阅读 评论(2) 收藏