
linux
文章平均质量分 54
自驱
ALOHA HEJA HE
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【CS基础】计算机系统知识
从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,你能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。========================================================================次级推荐:http://www.tcpipguide.com/free/index.htm...原创 2021-08-07 21:27:12 · 154 阅读 · 0 评论 -
【OOM】 Linux OS OOM VS JVM OOM
1 错误日志定位----已读服务provider下线已读服务被下线:2 应急解决方案:保存一台机器的gc.log 日志文件,线程其他日志文件等;然后重启服务3 查看下线原因:机器情况 物理内存8G启动了两个java进程 1 通过gc日志排除vm内存泄露; 下图 2 egrep -i "killed process" /var/log/messages -C100OR dmesg -T | grep java -C100 确认是否...原创 2021-03-25 14:57:35 · 526 阅读 · 0 评论 -
【linux】根据端口号定位进程id
# lsof -i:5672 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME beam.smp 25625 rabbitmq 93u IPv6 42705143 0t0 TCP *:amqp (LISTEN)原创 2021-03-20 17:15:26 · 193 阅读 · 0 评论 -
【TCP】 为什么3次握手 4次挥手
1 三次握手TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手????进行初始化的。三次握手????的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。由此我们来对应客户端与服务器之间的建立连接:第一次握手????: 客户端向服务器发出连接请求报文,这时报文首部中的同部位SYN=1,同时随机生成初始序列号 seq=x,此时,客户端进程进入了 SYN-SENT状态,等待服务器的确认。原创 2021-03-03 18:34:03 · 301 阅读 · 1 评论 -
【事件通知机制epoll】 epoll - I/O event notification facility 水平触发以及边缘触发存在的问题?
1 背景:分析epoll系统调用2 工具:使用strace分析 zk 客户端连接时,server发生的系统调用bin/zkCli.sh -server 172.16.208.137:2181 和zkserver连接以后3 监控分析过程:3.1 连接事件如下3.2 对于epoll_data疑惑:3.3op类型3.4events:(边缘处罚和水平出发,默认是level Triggerd)3.5 查看man手册第七部分 man 7 epoll...原创 2021-02-06 11:13:17 · 262 阅读 · 0 评论 -
京淘项目day09
学习资料的位置前提条件:1.有两个虚拟设备:2.能够查看到IP地址:192.168.XXX.XXX京淘初始虚拟机位置:双击运行:虚拟机的设置:桥接模式:相当于将虚拟机直接接入局域网中,这时会独占IP地址.可以与本机通过局域网通信.特点:所有的在局域网中的IP都可以访问虚拟机.依赖:如果设置桥接模式,则必须有物理设备的支持.NAT模式相当于在网络环境中会开辟一块全新的网络空间.只有主机能够访问.特点:NAT模式只有主机访问,其他人通过IP地址禁止访问.通过命令原创 2020-08-16 15:05:54 · 268 阅读 · 0 评论 -
【shell】通配符匹配-模糊匹配 判断文件是否存在
1 错误定向到 /dev/nullfiles=$(ls mydir/*.jar 2> /dev/null | wc -l);if [ "$files" != "0" ] ;then #如果存在文件rm adonis/*.jar;fi2 代码files=$(ls mydir/*.jar 2> /dev/null | wc -l); if [ "$files" != "0" ] ;then #如果存在文件rm adonis/*.jar; fi...原创 2020-06-26 22:11:41 · 7816 阅读 · 0 评论 -
【jvm】do while(0) 为啥被用在宏定义中
1 实例源码openjdk/jdk/src/solaris/native/java/io/io_util_md.h:95/* * Retry the operation if it is interrupted */#define RESTARTABLE(_cmd, _result) do { \ do { \ _result = _cmd; \ } while((_result == -1) && (errno == EINTR)); \}原创 2020-06-14 12:13:28 · 242 阅读 · 0 评论 -
【TCP】socket的标准参数中:logback 参数配置方法
1 Backlog是什么?BACKLOG用于构造服务端套接字ServerSocket对象,标识当服务器请求处理线程全满时,用于临时存放已完成三次握手的请求的队列的最大长度。如果未设置或所设置的值小于1,Java将使用默认值50。2NIO server端配置 // 最终由 min(backlog, /proc/sys/net/core/somaxconn) 决定Send_Q 大小 // 默认50 此处配置成100 serverSocket.bin...原创 2020-05-31 17:30:52 · 860 阅读 · 0 评论 -
【Linux】 sed 常用命令
1 sed 's/原字符串/替换字符串/'2 # 要处理的字符包含单引号 sed "s/原字符串包含'/替换字符串包含'/"3 # 将分隔符换成问号”?”: sed 's?原字符串?替换字符串?'4 # 替换所有匹配关键字 sed 's/原字符串/替换字符串/g'5 ”^”表示行首 ”$”符号如果三根斜线中间表示行尾,但是在三根斜线外却表示末行(最后一行)...原创 2019-10-13 16:33:30 · 351 阅读 · 0 评论 -
【shell 登录】为什么每次都要source .bashrc 一次呢?
1 【疑问】? 为什么每次都要source .bashrc 一次呢?2 【科普】3 【解决】shell登录配置文件的执行顺序为:/etc/profile→ (~/.bash_profile | ~/.bash_login | ~/.profile)→~/.bashrc →/etc/bashrc → ~/.bash_logout~/.bashrc 必须如下配置3 如果 ~...原创 2019-10-13 16:32:24 · 1233 阅读 · 0 评论 -
【CPU 和 Load】cpu并未打满,但是load很高,说明可能存在D+R状态的进程导致load高
1 【问题】:这台实例cpu并未打满,但是load很高,其他无异常。2 【理解】:说明可能存在D+R状态的进程导致load高科普:进程的D状态: uninterruptible sleep (不可打断的睡眠状态)举例:Sometimes you will see processes on your linux box that are in D state as shown ...原创 2019-10-13 16:26:01 · 1253 阅读 · 0 评论 -
【polysh】跳板机逐台机器遍历所有机器日志
详细步骤:1 安装polyshwget wget http://guichaz.free.fr/polysh/files/polysh-0.4.tar.gztar -zxvf polysh-0.4.tar.gzcd polysh-0.4supython setup.py install# 添加polysh执行目录到环境变量exportPYTHONPATH=~...原创 2019-10-13 09:50:56 · 513 阅读 · 0 评论 -
【ssh 免密登录的原理】免密登录的原理
1 ssh 免密登录的原理(其实就是公钥存储在了对方,解密使用)堡垒机 将自己的公钥放在了 所有其他机器上,其他机器只需要发送一个随机串,堡垒机用私钥加密,返回,远程主机使用公钥解密,check 正确则直接连接成功!比如:跳板机要登录其他机器,则需要把自己的公钥下发到其他机器的.ssh/authorized_keys即可!$ ssh user@host 'mkdir -p...原创 2019-10-13 09:35:32 · 1441 阅读 · 0 评论 -
shell 命令 分割文本文件内容 简单举例
ips_im.dat 是空格分割的ip地址;需要产生每行一个ipcat ips_im.dat | tr " " "\n" > ip_list_im.dat原创 2018-12-14 20:42:01 · 3101 阅读 · 0 评论 -
jenkin 发布失败 没有日志
发布失败1: 例如数据库字段缺失等,导致程序无法启动发布失败2:机器配置导致失败例如GC_PARAM="-Xmx4g -Xms4g -XX:G1HeapRegionSize=2m"但是机器配置没有4G那么多空间! 改成适合大小即可...原创 2018-12-18 19:49:47 · 285 阅读 · 0 评论 -
【快速工具】top cpu load最忙的前五线程 tool
top 线程分析:在机器上执行如下三个步骤即可找到最繁忙的线程信息:1 wget https://raw.githubusercontent.com/iqiancheng/fast-profiler/master/show-busy-java-threads.sh2 sudo chmod u+x show-busy-java-threads.sh3 sudo ./show-busy...原创 2019-04-26 23:15:14 · 317 阅读 · 0 评论 -
【故障】oom导致 redis超时 rec 队列打满,导致tomcat拒绝服务
1 现象描述:磁盘占用到了50% 累计 ;PRINT_GC="-XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-PrintHeapAtGC -XX:-UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M -Xlogg...原创 2019-05-20 23:44:32 · 675 阅读 · 0 评论 -
【awk】执行文件中每一行命令
awk:cat 800.txt| awk '{cmd=$0;system(cmd)}'注意$0表示本行内容原创 2019-05-25 19:54:10 · 1229 阅读 · 0 评论 -
【vim】删除命令
dd:删除游标所在的一整行(常用)ndd:n为数字。删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行d1G:删除光标所在到第一行的所有数据dG:删除光标所在到最后一行的所有数据d$:删除光标所在处,到该行的最后一个字符d0:那个是数字0,删除光标所在到该行的最前面的一个字符x,X:x向后删除一个字符(相当于[del]按键),X向前删除一个字符(相当于[backspac...原创 2019-05-30 14:36:34 · 688 阅读 · 0 评论 -
【Binary file standard input matches】 grep 文件报错
使用 grep -a 参数-a, --text equivalent to --binary-files=text原创 2019-09-04 11:42:53 · 212 阅读 · 0 评论 -
【命令库】-Linux grep命令的or,and,not操作
1 OR 语义egrep 'pattern1|pattern2' filename 2 AND 语义grep -E 'pattern1.*pattern2' filename 3 NOT 语义grep -v 'pattern1' filename原创 2017-04-19 11:55:49 · 5503 阅读 · 0 评论