Linux使用日常

一、常见命令

二、日常使用的问题

javac无法使用

1.查看java的安装位置,以及下级目录内容,发现原来只装了JRE所以无法javac

2.卸载已安装JDK

查询是否已经安装JDK:rpm -qa|grep java

卸载已安装的jdk:

再次查看是否还有:

安装jdk:

查看可以安装的版本:

yum search java|grep jdk

找到合适的版本安装:

yum install java-1.8.0-openjdk-devel.x86_64

配置环境:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64

export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

三、常见问题排查

排查起手三连招

top:实时查看系统的运行状态,特别是cpu和内存

free:查看系统的内存使用【物理内存RAM、交换区SWAP等】

df:查看系统磁盘空间的使用【挂载点、总容量、已用可用容量等】

注意区分du和df,du是查看一个文件/目录的磁盘使用情况。

线上CPU飙升/频繁GC

给一个死循环:

1.【top】查看进程占用内存: 

 2.【ps H -eo  需要的数据 | grep 进程id】,查看线程的内存占用

3. 【jstack 进程号 | grep 线程ID】线程id需要转16进制,查看线程状态

(线程id需要转为16进制,因为打印出的信息是16进制的)

 4.【jstat -gcutil 间隔 次数】持续监控GC

5.  【jmap -dump】如果频繁GC的话查看内存快照,看是大对象还是手动GC过多了

死锁排查

1.jps查看正在运行的线程

2.打印线程堆栈信息jstack查看:jstack pid

发现死锁

已知端口号查询进程信息and已知进程关键字查看端口

netstat -lnp |grep 端口号或者进程号

ps -ef |grep 进程号或者进程关键字

1).已知端口号查询进程信息

eg:

nesta -lnp 根据端口号查看进程id:

ps -ef查看进程状态

2).已知进程关键字查看端口号

ps -ef | grep 进程关键字  查看进程id

netstat -lnp | grep 进程id

eg:

ps -ef | grep 进程关键字  查看进程id

netstat -lnp | grep 进程id

排查僵尸进程

- A显示所有进程,-o自定义输出格式,stat状态,ppid父进程,pid进程id,cmd进程命令行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值