Linux常用命令详解

197 阅读1分钟
1、top

查看系统负载情况,load average

CPU使用情况,按1查看每个CPU的使用情况

shift+h 查看每个线程的情况

2、free -m

按兆为单位输出内存的已用,未用,总共等结果

total used free shared buffers cached

Mem: 32176 27911 4265 0 132 7114

-/+ buffers/cache: 20664 11512

Swap: 31996 0 31996

3、查看服务器磁盘使用情况

df -h

文件系统 容量 已用 可用 已用% 挂载点

/dev/sda3 510G 317G 168G 66% /

/dev/sda1 996M 40M 905M 5% /boot

tmpfs 16G 0 16G 0% /dev/shm

查看具体是哪个目录磁盘使用过大

du -h --max-depth=1 /etc/

使用 du -ah --max-depth=1  /    可以查看根目录下各个文件占用情况

4、查看java进程

ps -ef | grep java

5、查看占用CPU最大的线程

ps Hh -eo pid,tid,pcpu |sort -nk3|tail

2858 2889 1.0

2858 3982 1.8

6796 7480 2.2

查看对应线程的堆栈

jstack 6796 | grep -C 10 'nid=0x1d38'

注意 7480 ---> 十六进制 1D38 ---> 小写

6、查看内存对象

jmap -histo:live pid |head -n 20

最好不要加live,会导致FGC

7、查看gc情况:

jstat -gcutil <频率> 次数

-rbash-3.2$ jstat -gcutil 6796 1000 3

S0 S1 E O P YGC YGCT FGC FGCT GCT

0.00 26.80 19.02 76.18 21.64 1607 90.868 4 15.923 106.791

0.00 26.80 23.08 76.18 21.64 1607 90.868 4 15.923 106.791

0.00 26.80 26.21 76.18 21.64 1607 90.868 4 15.923 106.791

8、生成内存堆栈文件

jmap -dump:format=b,file=/soft/dump/mem_dump.bin pid

tar -czf mem_dump.tar.gz mem_dump.bin

可通过Eclipse的MemoryAnalyzer工具分析

9、两服务器件文件传输
# 两服务器件文件传输 【Nginx配置的传输】,若需要则执行,不需要则不用管
scp -r user@ip:/usr/local/springboot/bin/ /usr/local/springboot/
10、文件上传下载
yum install lrzsz
# 选定的文件发送(send)到本地机器
sz nginx.conf
  
# 选定的文件发送(send)到服务器
rz -be 选择文件 
11、设置环境变量
# 修改 /etc/profile
vim /etc/profile   
# 跳转最后一行shift+g    
# 跳转最后一个字符 shift+4【$】    
# set jdk_env
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH

# 重新加载系统环境变量
source /etc/profile