加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

作为高级Java,你应该相识的Linux常识

发布时间:2019-11-01 06:57:32 所属栏目:建站 来源:小姐姐味道
导读:Linux呼吁仿佛还真不少,基础缘故起因就是软件多,也有像ag这样的呼吁想更换grep,但大大都呼吁迂腐而坚挺。不是由于这些软件计划的有多好,缘故起因是一些软件最开始入驻了体系,时刻久了,就酿成了一种约定,这种风俗改变价钱太大,就像把全部键盘的L和F换一下一

/proc文件体系是一个伪文件体系,它只存在内存傍边,而不占用外存空间。只不外以文件体系的方法为会见体系内核数据的操纵提供接口。体系的全部状态都逃不外它的火眼金睛。譬喻:

  • cat /proc/vmstat 看一下,是不是和vmstat呼吁的输出很像?
  • cat /proc/meminfo 是不是最全的内存信息
  • cat /proc/slabinfo 这不就是slabtop的信息么
  • cat /proc/devices 已经加载对装备们
  • cat /proc/loadavg load avg原本就躺在这里啊
  • cat /proc/stat 全部的CPU勾当信息
  • ls /proc/$pid/fd 悄悄地躺着lsof的功效

一样平常排盘查题的要领

一样平常排盘查题也是环绕着内存cpu等几个元素去排查。下图是一张概略的排查妨碍可能机能题目的进程,看图,不多说。

作为高级Java,你应该相识的Linux常识

应用场景举例

下面举例从详细应用场景来声名各类呼吁的组合应用,此类场景不可胜数,必要小我私人蕴蓄。但凶猛提议将sed和awk练的纯熟一些。

怎么查察某个Java历程内里占用CPU最高的一个线程详细信息?

  • 获取历程中占用CPU最高的线程,计为n。
  • 行使top top -H -p pid,肉眼调查之
  • 行使ps ps -mo spid,lwp,stime,time,%cpu -p pid
  • 将线程号转化成十六进制printf 0x%x n
  • 行使jstack找到响应历程,打印线程后的100行信息 jstack -l pid| grep spid -A 100

统计每种收集状态的数目

netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n -k 1 -r 起首行使netstat查察列表,行使'awk'截取第六列,行使uniq举办统计,并对统计功效排序。虽然,也可以这样。 netstat -ant | awk '{arr[$6]++}END{for(i in arr){print arr[i]" "i }}' | sort -n -k 1 -r 这和“说明apache日记,给出当日会见ip的降序列表”是一样的题目。

怎么查察哪个历程在用swap

起主要相识/proc/$pid/smaps里有我们所必要的各类信息,个中Swap字段等于我们所必要的。只要轮回遍历一下即可。

  1. for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr  
  2. 复制代码 

最后,附上http://www.brendangregg.com/ 的大图一张

作为高级Java,你应该相识的Linux常识

End

软件规模有两种人才,一种是工程型的,一种是研究型的。在Linux规模里,相对付搞内核研究的来说,搞呼吁行的就属于工程型。工程型也有他本身的心事,好比,背诵呼吁就挺疾苦的,一样平常来说不太保举背诵,第一包围的面不广,第二记的快忘的也快,挥霍脑细胞。牛逼的记法就是用,用时刻来冲淡烟云,见微知著,并体验个中的高兴。爱她并每天抱她上床,真爱才成。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读