- 博客(20)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 DPDK 大页释放问题
问题:在进行SPDK/DPDK的编程的时候,发现HugePage在进程杀死之后没有被释放,cat /proc/meminfo | grep Hug 可以看到HugePage的使用情况查看挂载cat /proc/mounts | grep huge/dev/hugepages在挂载下可以看到大页的分配情况,分配没有被删除。后来查看SPDK源码在./lib/env_dpdk/init.c文件中的,spdk_env_init->spdk_bui...
2020-07-21 11:46:58
1149
原创 C++多线程操作stl的对象可能会搞乱stl的对象内部结构,陷入死循环
高并发的情况下,程序hang住了,gstack 显示,主要hang在了stl内部/usr/local/include/c++/9.3.0/bits/stl_tree.h +1928在调用的std map的find的 时候使用红黑树,触发内存混乱。修改方式:1、加锁2、map操作只在一个线程中顺序执行总结:stl本身不是线程安全的,多线程使用的时候需要小心...
2021-04-16 17:39:24
266
1
原创 SPDK 的测试 fio 与 pref 方法及结果
测试磁盘型号:Intel® SSD D5-P4420型号官网相关性能参数:测试指标:通常,对于一个磁盘的性能,我们主要从三方面去评估:IOPS、bandwidth、latency。IOPS:通常评估磁盘的IOPS,主要关注块大小为4k,随机读写的情况。因此,通常fio关键参数为:bs=4k,iodepth=128,direct=1,rw=randread/randwrite。Bandwidth:评估磁盘的bandwidth,通常是关注块大小为128k,顺序读写的情况。因此,通常fio
2020-08-20 16:23:08
3706
原创 SPDK DPDK 调优 绑定CPU 禁止IO调度
使用isolcpus减少上下文切换。为了减少上下文切换的可能性,需要提示内核,禁止将其他用户空间任务调度到DPDK应用线程所在核。isolcpus Linux内核参数用于此目的。例如,如果DPDK应用程序要在逻辑核心1,2和3上运行,则应将以下内容添加到内核参数列表中:isolcpus = 1,2,3使用vim打开/boot/grub2/grub.cfg文件(一般在99行)定位到menuentry ‘CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)这
2020-07-27 19:08:37
882
原创 RocksDB + SPDK安装指南
SPDK 代码clone :https://github.com/spdk/spdkgit clone https://github.com/spdk/spdk.gitcd spdk./configuremakeClone the RocksDB repository from the SPDK GitHub fork into a separate directory. Make sure you check out thespdk-v5.14.3branch.cd .....
2020-07-24 14:24:48
1047
1
原创 显示调用析构函数被g++编译器优化掉 不执行,导致析构函数调用失败
问题背景: 池化需要变量,然后在变量的析构中执行一些代码,控制变量的版本,防止变量被释放后被调用执行,但是此时发生在Release析构函数不执行情况。原因: -O3 优化将析构函数优化不执行。解决方案:变量名称增加volatile 定义: ...
2020-07-24 11:50:37
389
原创 设置开机启动项-以mysql为例
一、配置mysql.service 文件vim /lib/systemd/system/mysql.service[Unit]Description=The MySQL serverAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=forkingExecStart=...
2020-01-03 13:04:39
305
原创 mysql 安装
本文为大家分享了linux yum安装mysql5.6简单过程,供大家参考,具体内容如下1.新开的云服务器,需要检测系统是否自带安装mysql# yum list installed | grep mysql2.如果发现有系统自带mysql,果断这么干# yum -y remove mysql-libs.x86_643.随便在你存放文件的目录下执行,这里解释一下,由于这个m...
2020-01-03 10:55:33
130
转载 Leveldb 实现原理
数据Leveldb 实现原理分析与处理之二()转载地址:https://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html郑重声明:本篇博客是自己学习 Leveldb 实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecity.com/blog/Index.asp?SortID=12,只是为了加深印象,...
2019-07-27 21:34:07
208
转载 Raft协议
我会将Raft协议拆成四个部分去总结: 算法基础 选举和日志复制 安全性 节点变更 这是第一篇:《解读Raft(一 算法基础)》什么是RAFT分布式系统除了提升整个体统的性能外还有一个重要特征就是提高系统的可靠性。提供可靠性可以理解为系统中一台或多台的机器故障不会使系统不可用(或者丢失数据)。保证系统可靠性的关键就是多副本(...
2019-07-27 21:33:23
132
转载 leveldb--Arena内存池
ArenaArena 是 leveldb 项目里面使用的轻量级的内存池对象,leveldb 用这个对象来管理内存的分配,简化了 new 和 delete 的调用,我们也可以从这个轻量级的内存池对象学习 google 大神工程师是如何管理内存的。Arena 内存管理模型这是罗道文网站上关于 leveldb 的一张 Arena 的内存模型图:Arena 使用下面几个成员变量来描述上...
2019-07-25 18:46:26
231
转载 shared_from_this() 作用:
c++11中的shared_from_this() c++11中的shared_from_this()来源于boost中的enable_shared_form_this类和shared_from_this()函数,功能为返回一个当前类的std::share_ptr,这是一次深拷贝操作,使用方法如下: std::shared_ptr<DeleteFileHandle>...
2019-07-25 17:40:02
1117
原创 关于Java中String类的hashCode方法
计算方法:/** * Returns a hash code for this string. The hash code for a * <code>String</code> object is computed as * <blockquote><pre> * s[0]*31^(n-1) + s[1]...
2019-03-01 10:46:09
557
原创 Netty相关概念说明
1、BIO、NIO和AI2、Buffer:与Channel进行交互,数据是从Channel读入缓冲区,从缓冲区写入Channel中的flip方法 : 反转此缓冲区,将position给limit,然后将position置为0,其实就是切换读写模式 clear方法 :清除此缓冲区,将position置为0,把capacity的值给limit。 rewind方法 : 重绕此缓冲区,将pos...
2019-01-25 11:18:13
236
原创 JVM问题分析方法和案例
摘要: 各位开发和运维同学,在项目实施落地的过程中,尤其是使用EDAS、DRDS、MQ这些java中间件时,肯定会遇到不少JAVA程序运行和JVM的问题。我结合过去遇到的各种各样的问题和实际处理经验,总结了JAVA问题的处理方式,希望能帮助到大家。一.前言各位开发和运维同学,在项目实施落地的过程中,尤其是使用EDAS、DRDS、MQ这些java中间件时,肯定会遇到不少JAVA程序运行和JV...
2019-01-25 10:51:16
148
原创 如何找出Java进程占用CPU高的代码
1. 查找进程top查看进程占用资源情况,找出占用过高cpu的进程。2.查找线程使用top -H -p <pid>查看线程占用情况3.查找java的堆栈信息将线程id转换成十六进制,如下指令#printf %x pid 4.然后再使用jstack查询线程的堆栈信息指令:jstack <pid> | grep -a 线程id(十六进制)5.找出问题代码...
2019-01-22 18:55:12
809
原创 Hbase 并发操作的排队现象
对于一张表的同一个region进行操作的时候,并发操作Hbase数据库存在等待现象。测试代码如下:List<Future<Boolean>> futs = new ArrayList<>();for (int w = 0; w < hbaseMonitorEntry.totalNo; w++) { Future<Boolean> f =...
2018-06-15 10:47:30
435
原创 jetty的uri内的GB2132编码特殊编码处理,NotUtf8Exception: Not valid UTF8! byte D0 in state 2
问题描述: 客户端对 uri的汉子编码采用了非洲的编码形式例如汉子“啊”的编码是单字节汉子编码,不是三字节,jetty无法解析汉字编码。异常描述:[qtp806588571-132] WARN org.eclipse.jetty.server.AbstractHttpConnection - Failed UTF-8 decode for request path, trying I...
2018-04-23 10:55:18
2657
转载 SSH连接服务器报ssh_exchange_identification: Connection closed by remote host
SSH连接服务器报ssh_exchange_identification: Connection closed by remote host# vi /etc/ssh/sshd_config # MaxSessions 10 去掉前面的"#" 并把数字改大,我先改为60了,最后重启service sshd reload然后重新连接即可. 附:查看Linux服务器有多少个用户连接ssh的方法命令行...
2017-10-11 18:25:36
4898
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人