Linux
常用操作、小技巧
toprobust
学无止境,在有限的生命中每天进步一点点
展开
-
VMware ESXi 6.7搭建
参考文章https://blog.csdn.net/QQ1006207580/article/details/88799489原创 2020-08-28 09:25:10 · 299 阅读 · 0 评论 -
Linux-IO模型之多路复用器
NIO的优劣优势:通过1个或几个线程,解决N个IO连接的处理问题劣势:每循环一次,O(N)的时间复杂度,有多少个客户端连接就有多少次系统调用recv,每次系统调用都会涉及到软中断,线程在用户态和内核态的切换保护现场等操作多路复用解决了什么:只对有事件发生的客户端连接发起系统调用多路复用器的实现目前linux下只有同步模型下的多路复用器POXIS协议的selectman 2 select可以看到如下的函数int pselect(int nfds, fd_set *readfds,原创 2020-07-08 10:27:32 · 350 阅读 · 0 评论 -
Linux-IO模型之NIO
C10K问题BIO的弊端accept阻塞服务端新建线程调用系统调用clone阻塞因为内核提供给我们调用的API是阻塞的,所以优化也就是选择新的APINIO在kernel层面,比如BIO中用的socket,可通过参数设置成非阻塞使用man 2 socket 查看系统调用socket函数的设置可以看到下面这句话,可以对socket设置成非阻塞SOCK_NONBLOCK Set the O_NONBLOCK file status flag on the new open file de原创 2020-07-07 15:27:57 · 287 阅读 · 0 评论 -
Linux-IO模型之BIO
说到IO模型,先来了解几个专用术语:我们平时说的阻塞或非阻塞是指应用程序在发起 I/O 操作时,是立即返回还是等待。而同步和异步,是指应用程序在与内核通信时,数据从内核空间到应用空间的拷贝,是由内核主动发起还是由应用程序来触发。有异步阻塞模型吗?没有,都异步了,还要阻塞?有病吧!观察IO模型过程中用到的指令:strace -ff -o out cmd-ff 捕捉所有线程-o 捕捉到的每个线程的输出文件以什么开头cmd 捕捉的命令,比如 java -jar服务端codeimport j原创 2020-07-06 21:58:27 · 428 阅读 · 0 评论 -
Linux-文件IO
pagecache刷盘策略1.跟随内核设置2.每秒一次3.每操作一次写一次对应的丢数据就是:1.丢一个缓冲区2.丢一秒的数据3.丢一条数据那一个缓冲区多大呢?可以配置是多少字节或者多大比率根据vm.dirty_bytes = 0vm.dirty_ratio = 30[root@optimize ~]# sysctl -a | grep dirtysysctl: reading key "net.ipv6.conf.all.stable_secret"sysctl: readin原创 2020-07-06 14:49:15 · 154 阅读 · 1 评论 -
Linux-网络IO之TCP三次握手阶段
BIO的连接建立及文件描述符分配首先准备两台linux:node01和node02,用来做client和server需要用到的几个命令:lsof -p 可以看到某一个进程里的文件描述符是否已经有了,以及什么时候才能看到这个文件描述符netstat -antp 查看内核里面socket的建立过程tcpdump 抓取网络通信数据包BIO一些参数介绍: //server socket listen property: private static final int RECEIVE_BU原创 2020-07-06 10:32:47 · 555 阅读 · 0 评论 -
Linux-文件类型
文件类型当我们使用命令查看linux目录下的内容时,如下:[root@optimize ~]# lltotal 4-rw-------. 1 root root 1246 Jun 11 10:54 anaconda-ks.cfg左侧第一个字符代表的就是文件类型-:普通文件(可执行、图片、文本) REGd:目录l:链接b:块设备- 硬盘c:字符设备- 键盘 CHRs:socketp:pipeline[eventpoll]:…示例:[root@optimize opt]# l原创 2020-06-29 19:16:57 · 659 阅读 · 0 评论 -
Linux配置ssh免密码互相通信
假设有3台Linux虚拟机,那么应该如何配置免密码通信呢?node01,node02,node03(1)首先在三台机器上配置对本机的ssh免密码登录ssh-keygen -t rsa生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下cd /root/.sshcp id_rsa.pub authorized_keys将公钥复制为au...原创 2020-03-18 23:01:56 · 248 阅读 · 0 评论