TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网互联网干货互联网Linux思维导图

互联网Linux思维导图

  收藏
  分享
免费下载
免费使用文件
树图周树人 浏览量:42022-11-08 20:45:50
已被使用0次
查看详情互联网Linux思维导图

简单介绍Linux的内容

树图思维导图提供 互联网Linux思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 互联网Linux思维导图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:09ff436d95579cc43f51f6e783943008

思维导图大纲

Linux思维导图模板大纲

文件系统

组成

lnode:一个文件占用一个inode,记录文件属性,同时记录此文件所属的block编号

Block:记录文件的具体内容,文件太大会占用多个block

Superblock:记录文件系统的整体信息,包括inodeflblock的总量,文件系统的格式等

block bitmap:记录block是否被使用的位图

类型

Exts:要读取文件时,根据inode来查找对应的block

Fat:没有inode,每个block中存放着下一个block的编号

IO操作

select

一个socket连接就会分配一个文件描述符

socket可以读写了之后会做一个标志,然后唤醒程序,select程序会遍历所有的socket

最多1024个

epoll

只把需要做处理的socket发给程序

同步

例如调用者调用了一个接口,这个接口比如要执行一些磁盘文件读写操作,或者网络通信等,

如果是同步的,则调用者需要等待这些磁盘读写操作完成后才能返回

异步

同步异步是针对接口的调用,API类库调用

异步则直接返回,也不管这个调用有没成功,接口做完了自己的事情之后,通过一些内部的

通信机制进行通知,也可以通过回调函数来通知

阻塞与非阻塞

通常是针对底层的IO操作来说的

如果采用阻塞IO的话,一旦发起请求去内核读取数据,此时内核还没有把数据从网络中读取过

来,也就是说内核还没把数据准备好,此时会阻塞,直到内核把数据准备好才返回

而非阻塞的话,如果内核没准备好数据,内核会返回一个信号给程序,告诉它数据还没准备好,

然后程序就直接返回了,过会再来询问

例如程序想要通过网络去读取数据

NIO与IO

NIO适合

监听多个连接,且数据量比较少的,例如聊天系统

区别

IO是面向流的,NIO是面向缓冲的,这意味着NIO有更大的灵活性,可以进行偏移读取等

NIO是非阻塞的,当我们去通道读取数据的时候,如果这个通道没数据,线程不会阻塞,而是

会不断轮训其他通道。而IO当我们调用read时,如果数据还没准备好,则该线程会阻幕区别

NIO有一个selector的概念,一个选择器可以监控多个通道

iostat

查看磁盘信息

进程相关

命令相关

pstree -A

top

netstat

ps

ps -l查看自己的进程

ps aux查看系统所有进程

进程状态

R

D:不可中断睡眠,通常为IO操作

S:可中断阻塞,等待某个事情发生

Z:僵尸进程:进程已经终止,但是没有被回收资源

T:结束

SIGCHLD

当子进程状态改变时

得到SIGCHLD信号

waitpid()或者wait()调用返回

孤儿进程

一个父进程退出而子进程还在运行,这些进程被称为孤儿进程

孤儿进程会被init进程收养,所以不会对系统造成危害

僵尸进程

性能优化

项目出问题的排除故障

pidstat命令

可以用来分析一个进程的IO,CUP,内存等情况

常用命令

pidstat -u 1: CUP

pidstat -r 1: 内存

pidstat -d 1: IO

分析Java死锁

用jsp找出对应的Java程序

用jstack查看对应的栈信息

用top和jstack命令

top直接定位进程

top -Hp pid定位哪个进程

jstack pid | grep -A 200线程id

CPU使用很高,但top却没找出来的原因有哪些

短进程太多

概括思维导图模板大纲

相关思维导图模板

Linux命令思维导图

树图思维导图提供 Linux命令 在线思维导图免费制作,点击“编辑”按钮,可对 Linux命令  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:379b8fef9da53d8b3f2d80837cccbd58

linux官方文档思维导图

树图思维导图提供 linux官方文档 在线思维导图免费制作,点击“编辑”按钮,可对 linux官方文档  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4fa2a3960ee510c40143026cbac44f5b