这个是之前处理过的一个线上问题,处理过程断断续续,经历了两周多的时间,中间各种尝试,总结如下.这篇文章分三部分: 1.问题的场景和处理过程:2.GC的一些理论东西:3.看懂GC的日志 先说一下问题吧 问题场景:线上机器在半夜会推送一个700M左右的数据,这个时候有个数据置换的过程,也就是说有700M*2的数据在heap区域中,线上系统超时比较多,导致了很严重(严重程度就不说了)的问题. 问题原因:看日志,系统接口超时的时候,系统出现了FullGC,这个时候stop-the-world了,也就停机…
这个是之前处理过的一个线上问题,处理过程断断续续,经历了两周多的时间,中间各种尝试,总结如下.这篇文章分三部分: 1.问题的场景和处理过程:2.GC的一些理论东西:3.看懂GC的日志 先说一下问题吧 问题场景:线上机器在半夜会推送一个700M左右的数据,这个时候有个数据置换的过程,也就是说有700M*2的数据在heap区域中,线上系统超时比较多,导致了很严重(严重程度就不说了)的问题. 问题原因:看日志,系统接口超时的时候,系统出现了FullGC,这个时候stop-the-world了,也就停机…
MerkleDAG全面解析 一文读懂什么是默克尔有向无环图 2018-08-16 15:58区块链/技术 MerkleDAG作为IPFS的核心数据结构,它融合了Merkle Tree和DAG的优点,今天阿信带大家一起来探究什么是MerkleDAG,拆分解说Merkle Tree.DAG有向无环图.MerkleDAG在IPFS中的应用. MerkleDAG树形结构图 Merkle Tree Merkle Tree是由美国计算机学家Merkle于1979年申请的专利. Merkle Tree通常也被…
让我们先来构造一条audit日志.在home目录下新建一个目录,然后配置一条audit规则,对这个目录的wrax,都记录审计日志: auditctl -w /home/audit_test -p wrax -k audit_test root用户访问audit_test目录时,即在这个目录下ls,审计日志如下: type=SYSCALL msg=audit(1523501721.433:4172989307): arch=c000003e syscall=257 success=yes exit…
 auid=0 auid记录Audit user ID,that is the loginuid.当我使用lbh用户登录系统时,再访问audit_test,此时记录的auid为1001,具体日志如下: type=SYSCALL msg=audit(1523513135.147:4172990525): arch=c000003e syscall=257 success=yes exit=3 a0=ffffffffffffff9c a1=1cb8550 a2=90800 a3=0 items=1…
我们使用测试性能的工具,unixbench,它有一下几项测试项目: Execl Throughput 每秒钟执行 execl 系统调用的次数 Pipe Throughput 一秒钟内一个进程向一个管道写 字节数据然后再读回的次数 Pipe-based Context Switching 两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数 Process Creation 每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出) Shell Scripts ( concurr…
binlog 报unknown variable 'default-character-set=utf8' 方法1: 在/etc/my.cnf 中将default-character-set=utf8修改成charater-set-server=utf8 方法2: mysqlbinlog --no-defaults mysql-bin.000001 SHOW SLAVE STATUS: 1) The position, ON THE MASTER, from which the I/O thre…
为了满足这样的需求:记录文件变化.记录用户对文件的读写,甚至记录系统调用,文件变化通知.什么是auditThe Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s) Kernel events (syscall events)User events (audit-enabled programs)syslog会记录系统状态(硬件警告.软件的log),…
这里首先介绍auditctl的应用,具体使用指南查看man auditctl.auditctl的man 描述说明这个工具主要是用来控制audit系统行为,获取audit系统状态,添加或者删除audit系统的规则.控制audit系统行为和获取audit系统状态参数: -s 或者auditd 状态 auditctl -s 显示:AUDIT_STATUS: enabled=1 flag=1 pid=2792 rate_limit=0 backlog_limit=320 lost=0 backlog=0…
audit可以配置规则,这个规则主要是给内核模块下发的,内核audit模块会按照这个规则获取审计信息,发送给auditd来记录日志. 规则类型可分为: 1.控制规则:控制audit系统的规则: 2.文件系统规则:也可以认为是文件监控,可以监控一个特定文件或者一个路径. 3.系统调用规则:可以记录特定程序的系统调用. audit规则可以通过auditctl,在命令行里输入,这些设置的规则为临时的,当系统重启后就不存在了.可以通过配置/etc/audit/audit.rules文件,当每次audit…