linux 入门到退坑

业务逻辑先理清

linux 入门到退坑_第1张图片

vmstat 

查进程,内存,

r 运行CPU和等待CPU

b block在io进程的个数

r b 可以看做 队列长度 根据时间平均就是 load average 队列

uptime 快速看到r b 进程的状态,这个只有vmstat的process部分

dmesg 看系统日志   /var/log/message

大意是内存不够用,系统干掉了,total-vm 是java的内存,后面的rss是物理内存

linux 入门到退坑_第2张图片

perf top -g 看cup使用的热力图

top 命令

ni 是cup 执行的优先级

wa 等待

hi 硬中断

si 软中断 线程等待

Linux top命令详解 - 牛奔 - 博客园

面试卷中卷

oom 内存溢出

load average 平均负载 

cpu

第一使用率 user

第二队列,(中断,软中断,上下文切换)

java堆 是使用的固定内存大小

栈,就会大于堆,同时栈使用的是物理内存,消耗多java工具是看不到的

在启动线程与活动线程中不一致,观察

网络

1.看使用率

2.半使用队列,和全连接队列

3.发送队列和接收队列

队列,发多少,收多少(),

针对2. 这个tcp 的半发送等待连接队列与全连接队列,还有丢弃的,连接负载就会丢弃,dropped

linux 入门到退坑_第3张图片

针对3. 里面的send-q是要发送给远程主机,但是还没确认的byte数(发的问题)

recv-q 就是收到数据还在缓存中,没给进程读取,也是CPU处理不过来的导致的linux 入门到退坑_第4张图片时间拆分,链路拆分

netstat -nlpt(查找网络入口) 

linux 入门到退坑_第5张图片

java

 iftop 看网络带宽是找到端口,

netstat 通过端口找到进程,

lsof 进程 找到文件

top -Hp 通过进程,到线程

拿到线程PID要转换16进制

jstack 线程--代码

pstack 线程到代码【C C++】

文件监控

inotify 文件的操作过程监控

你可能感兴趣的:(linux,linux,运维,服务器)