Javaer 运维指令合集(快餐版)

标签: dev | 发表时间:2019-11-29 00:00 | 作者:
出处:http://itindex.net/relian


这年头,大家都喜欢吃快餐,虽不健康,但是奈何真香!这里我把经常使用的运维指令总结成一套指令快餐。之所以称之为快餐是因为每个指令都是简单的一句或者两句话的简介。注意很多指令用法奇多,文中不会一一列出。

系统相关

df
查看磁盘剩余空间。一般 df -h

free
查看内存使用情况。一般 free -h

du
查看文件占用磁盘空间。一般 du -h

top
查看系统整体情况,包括CPU,内存,负载等等。直接 top即可。也可以这样 top -H -p pid查看某个进程下的线程情况。

ps
查看系统进程。直接命令行输入 ps -ef或者 ps aux,将显示系统里面所有的进程。
一般我们会这样用 ps -ef|grep java|grep -v grep或者 ps aux|grep tomcat|grep -v tomcat。查找出所有java进程或者tomcat进程。

kill
杀死进程。一般 kill -9 pid强制杀死进程。也可以这样 ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9
批量杀死所有Java进程。

pstree
查看一个进程下的线程数。一般 pstree -p pid |wc -l

mpstat
查看cpu 有关信息。直接命令行输入 mpstat,一般会这样使用, mpstat -P ALL 5 2,每5秒采集一次,采集2次。

vmstat
查看虚拟内存使用状态,及CPU等信息。用法和 mpstat类似, vmstat 2 1每两秒采集一次,一共采集一次。

pmap
查看一个进程是如何使用内存的。一般 pmap pid

iostat
查看机器IO情况,一般直接输入 iostat指令。

lsof
查看进程打开的文件及网络端口。一般 lsof filename查看哪个进程在使用该文件。 lsof -i tcp:8083列出哪个进程在使用8083端口

网络相关

curl
通过该指令可以访问URL地址。例如 curl http://url

wget
用于在命令行通过url下载文件,比如 wget http://url

ping
ping命令用来测试主机之间网络的连通性。 ping ip

telnet
一般用于检查服务端某个端口联通性,比如 telnet ip port

ss, netstat
都可以显示网络系统的状态信息。一般 netstat -anp|grep 8080或者 ss -lnp。ss的优势是比较快。当服务器链接数过多时,netstat会很慢。

ifconfig
查看本机IP及硬件信息。一般 ifconfig -a

tcpdump
网络抓包,分析网络链接的细节问题。需要有sudo权限。
监听通过网卡 eth0的网络包,并保存到 socketdump.dattcpdump -i eth0 tcp -w socketdump.dat 注意这个文件需要使用 wireshark来分析,你用肉眼是解读不出什么的。
监听某个主机某个端口 tcpdump tcp port 8089 and host hostname
监听某个网段的数据   tcpdump tcp -c 10 net 172.22

traceroute
用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。一般 traceroute www.baidu.com

jvm相关

jps
查看运行中的java进程,一般的 jps -lv

jmap
查看JVM堆内存使用情况,包括GC算法等信息。一般 jmap -heap pid
dump出内存文件,用 jhat或者MAT进行分析。一般 jmap -dump:format=b,file=dumpFileName pid

jhat
分析堆内存文件。一般 jhat -J-Xmx2G -port 9998 dumpFileName然后在浏览器端通过9998端口访问。建议不要在线上服务器上操作,会很占用内存和CPU。

jstack
查看Java进程内的线程堆栈信息。一般的 jstack pid | grep "java.lang.Thread.state"| sort -nr| uniq -c。查看进程各个状态数量。注意 jstack显示的线程号都是16进制的。我们需要把进程号转换为16进制,命令行直接输入 printf '%x\n' 3528,然后查找对应线程信息, jstack pid | grep 'nid'

jstat
可以看出堆内存及GC情况,一般的 jstat -gcutil pid

结束

大家不要希望记住几个指令,就能解决线上所有问题,就能成为大牛。要想成为大牛还是要多实战,多看书。比如定位网络相关的问题,你最好多读几遍《TCP/IP详解》这本书,要想解决JVM相关的问题,你最好多去找几本JVM相关的书籍来看。快餐终究是快餐,解馋可以,对成长不利!


推荐阅读
你的内存够用吗
我是如何进行架构设计的

相关 [javaer 运维 指令] 推荐:

Javaer 运维指令合集(快餐版)

- - IT瘾-dev
这年头,大家都喜欢吃快餐,虽不健康,但是奈何真香. 这里我把经常使用的运维指令总结成一套指令快餐. 之所以称之为快餐是因为每个指令都是简单的一句或者两句话的简介. 注意很多指令用法奇多,文中不会一一列出. 查看系统整体情况,包括CPU,内存,负载等等. 也可以这样 top -H -p pid查看某个进程下的线程情况.

Java应用运维

- - BlueDavy之技术blog
对于互联网产品或长期运行的产品而言,运维工作非常重要,尤其是在产品复杂了以后,在这篇blog中就来说下Java应用的运维工作(ps:虽然看起来各种语言做的系统的运维工作都差不多,但细节上还是会有很多不同,so本文还是只讲Java的). 苦逼的码农按照需求开发好了一个全新的Java Web应用,该发布上线给用户用了,要把一个Java Web应用发布上线,首先需要搭建运行的环境,运行的环境需要有JDK、APPServer,在已经装好了os的机器上装上JDK和APPServer,开发好的Java Web应用可以用maven直接打成war或ear,将这个打好的包scp或其他方式到目标机器上,准备妥当,就差启动了.

ZooKeeper运维经验

- - Juven Xu
ZooKeeper 是分布式环境下非常重要的一个中间件,可以完成动态配置推送、分布式 Leader 选举、分布式锁等功能. 在运维 AliExpress ZooKeeper 服务的一年多来,积累如下经验:. 3台起,如果是虚拟机,必须分散在不同的宿主机上,以实现容灾的目的. 如果长远来看(如2-3年)需求会持续增长,可以直接部署5台.

hadoop运维笔记1

- - 企业架构 - ITeye博客
hadoop使用中的几个小细节(二). 1 某次正常运行mapreduce实例时,抛出错误. 经查明,问题原因是linux机器打开了过多的文件导致. 用命令ulimit -n可以发现linux默认的文件打开数目为1024,修改/ect/security/limit.conf,增加hadoop soft 65535.

运维工具体系

- - SegmentFault 最新的文章
发布变更流程管理工具:做为系统接口与其他角色的工作衔接. 并提供审批环节控制发布变更的风险. 流程管理工具并不负责具体的业务操作的执行,只是作为单据系统跟踪流程和确保闭环. 告警和突发管理工具:体现业务受损的告警自动建单管理. 通过建单管理告警和突发确保流程的闭环,以及每次故障都能够总结出经验,并未度量业务的可用性提供KPI.

Proftpd.conf 配置指令手册(中文)

- 桔子 - Wow! Ubuntu
论功能确实 proftpd 最为强大,以下为 proftpd.conf 的配置指定手册,呵呵,只有简短的说明啊. -------------------------------------------------------------------- AccessDenyMsg -- 访问拒绝的信息提示(530).

超实用Android手机指令大全

- MZ - 乐淘吧
【超实用Android手机指令大全】快速设定手机,快速查看手机,全部都告诉你,Android手机用户一定要保存的Android手机指令大全. 我用android手机一定是好男人. [博海拾贝]有时候,最痛苦的不是失去,而是得到以后不快乐. [博海拾贝]与其诅咒黑暗 不如点起一根蜡烛.  » 非特殊声明本站所有文章,图片,视频全部来自网络,如有侵权>,请通知本站.

Redis运维之道(视频+PPT)

- Adam - NoSQLFan
本文作者是新浪网首席DBA杨海朝同学(@jackbillow),在新浪微博后端对Redis的大量使用的背景下,海朝对Redis的运维与优化也积累了丰富的经验,下面就是其演讲PPT和演讲视频,内容丰富,强烈推荐. 新浪 杨海朝 Redis运维之道 View more presentations from guiyingshenxia.

【转】给力的运维shell命令

- Greyby - FeedzShare 3天最热
来自: 在路上 - FeedzShare  . 发布时间:2011年03月31日,  已有 18 人推荐. 1.显示消耗内存/CPU最多的10个进程. 2.查看Apache的并发请求数及其TCP连接状态. 3.找出自己最常用的10条命令及使用次数(或求访问最多的ip数). 4.日志中第10个字段表示连接时间,求平均连接时间.

我们是这样运维HBase集群

- - ITeye博客
今天和@淘大舞 @dun_2010 @毅毅 @知付托 一起喝酒,聊了好多,这是一个虽然苦逼但是值得骄傲的团队. @淘大舞 说的话,如果说hbase的运维,国内有人比我们做的好,那就是我们还没有做到位. 这样的环境,这样的氛围,这样靠谱的开发支持@庄庄2049 ,追求top,那是基本目标. 而最后的目标,是只要是集群运维,就没有我们搞不定的.