基本概念 I/O多路复用是一种同步I/O模型,实现一个线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知线程进行相应的读写操作;没有文件句柄就绪时会阻塞应用程序。多路是指网络连接,复用指的是同一个线程。 I/O多路复用模型是建立在内核提供的多路分离函数select基础之上的,使用select函数可以避免同步非阻塞IO模型中轮询等待的问题。 可以先了解下fd和socketlinux中的文件描述符与套接字socket redis中的使用 在redis中支持四种类型的实现。根据环境的不同,include进去不同的…

2022/01/05 0条评论 1225点热度 0人点赞 阅读全文

基本概念 文件描述符fd Linux 系统中,把一切都看做是文件,当进程打开现有文件或创建新文件时,内核向进程返回一个文件描述符,文件描述符就是内核为了高效管理已被打开的文件所创建的索引,用来指向被打开的文件,所有执行I/O操作的系统调用都会通过文件描述符。 常见文件类型 普通文件:包含任意数据 目录:包含一组链接(link)的文件 套接字(socket):用来与另一个进程进行跨网络通信的文件 命名通道 符号链接 支付和块设备 linux抽象了一组标准接口,叫unix I/O,使得所有的输入和输出都能以一种统一的方…

2022/01/03 0条评论 1236点热度 0人点赞 阅读全文

前置说明 elasticsearch-7.10 centos7 依赖jdk11 必须使用非root账户启动 创建用户 # 添加组appuser groupadd appuser # 添加用户appuser,并加入主组appuser,又归属于root useradd -s /bin/sh -g appuser -G root appuser # 修改appuser密码 passwd appuser 密码 yxkong 下载解压 https://artifacts.elastic.co/downloads/elasti…

2021/08/08 0条评论 1172点热度 0人点赞 阅读全文

ps 命令用来列出系统中当前运行的那些进程 # 查找对应程序的进程 ps -ef|grep mysql # 将所有的程序显示出来 ps aux pstree 命令以树状图显示进程间的关系 # 常用与统计当前系统有多少线程在运行,系统慢,io较高时使用,可以看哪个程序开启的线程多 pstree -p |wc -l pstree -p 进程号 |wc -l ulimit 为进程及其子进程的资源使用设置限制 如果log中出现无法创建线程的异常,可以查看下,一般appuser的默认值都不高 # 查看资源限制 sh-4.2$…

2021/08/07 0条评论 1074点热度 0人点赞 阅读全文

引子 最近在研究k8s,学习到容器的一些知识。了解到docker的核心原理: 利用linux namespace 隔离资源; 利用cgroups 限制资源的使用; 利用chroot 改变进程的根目录到指定的目录; 我来详细的了解下cgroups。 物理机是4C8G 首先看下操作的系统版本 [root@dev215 ~]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core) 基本概念 Cgroups全称为:linux Control Group,cr…

2021/07/07 0条评论 1240点热度 0人点赞 阅读全文

5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 什么是零拷贝? 零拷贝描述的是cpu不参与执行从一个存储区域到另一个存储区域的数据拷贝任务;避免让CPU做大量的数据拷贝任务,将cpu解脱出来专注于别的事,降低cpu在数据拷贝中的使用率。 零拷贝的目的 尽可能少的利用cpu来完成操作; 尽可能减少数据的读写过程; 利用零拷贝的组件 kafka netty rocketMq nginx 基本上有文件和网络交互的为了效率都会用到 基本概念…

2021/05/08 0条评论 985点热度 0人点赞 阅读全文

1. 删除所有现有规则 iptables -F 2. 设置默认的 chain 策略 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP 3. 阻止某个特定的 IP 地址 ` #BLOCK_THIS_IP="x.x.x.x" #iptables -A INPUT -s "$BLOCK_THIS_IP" -j DRO` 4. 允许全部进来的(incoming)SSH iptables -A INPUT -i eth0 -p tc…

2017/05/04 0条评论 2257点热度 0人点赞 阅读全文

命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 文件命令 打开单个文件 vim file 同时打开多个文件 vim file1 file2 file3 ... 在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件 :bp 查看当前打开的文件列表,当…

2015/09/24 0条评论 1581点热度 0人点赞 阅读全文

以下功能基于centos实验 用户  etc/passwd  存放用户名与用户ID的对应关系,相当于一个数据库 [yxkong@localhost ~]$ tail /etc/passwd rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin radvd:x:75:75:radvd user:/:/sbin/nologin chrony:x:994:993::/var/lib/chrony:/sbin/nologi…

2014/10/13 0条评论 4594点热度 1人点赞 阅读全文

    update-alternatives是linux系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本,比如,我们在系统中同时安装了open jdk和sun jdk两个版本,而我们又希望系统默认使用的是sun jdk,那怎么办呢?通过update-alternatives就可以很方便的实现了。 根据update-alternatives 命令查看该命令的选项 [yxkong@localhost ~]$ update-altern…

2014/09/29 0条评论 5795点热度 0人点赞 阅读全文