摘要:
问题 开发过程中,同一系统上,两个进程,使用了共享内存方式通信。为了追求性能,一个进程是生产者,一个进程是消费者;一个负责写,一个负责读,没有锁。写入完成后,再更新写的标识;读取数据并操作完成后,再更新读取标识,理论上没有问题,但是服务器上运行起来后,会读取到无意义的内容。 读取数据很大或者无效数据 阅读全文
摘要:
cpu lscpu 可以查看cpu的架构,几级缓存等 lscpu Architecture: x86_64 架构 CPU op-mode(s): 32-bit, 64-bit cpu运行模式 Byte Order: Little Endian 字节序 CPU(s): 24 多少核 On-line C 阅读全文
摘要:
awk 获取第一行内容 内容如下 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 39 bits physical, 48 bits virtual Byte Order: Little Endia 阅读全文
摘要:
匹配F:\ 不要用双引号 grep -nr 'F:\\' xargs xargs可以把前面的结果传递到后面,就不用``,更好用 find -name 'file' | xargs grep -rl 'keyword' | xargs sed -i 's/keyword/replaceword/g' 阅读全文
摘要:
手动生成passwd文件 cygwin安装完,没有passwd的文件,如果在cygwin安装zsh,无法修改默认为zsh,所以 mkpasswd -l > /etc/passwd mkpasswd是生成对应的文件信息,然后导入到passwd,修改passwd对应的用户shell就可以 阅读全文
摘要:
pktgen是一个linux的高性能发包测试工具,pktgen-dpdk是一个依赖dpdk的高性能发包工具,理论上比pktgen更好一些。 # pktgen Dependency "libdpdk" not found, tried pkgconfig and cmake 编译dpdk相关的工具时, 阅读全文
摘要:
linux同一机器上数据同步方法,把一块物理内存映射到两个不同的进程中,在进程中看到的内存地址是不一样的,因为进程中只能看到虚拟内存。并且共享内存相当于申请了一块内存,只不过两个进程访问的是同一个地方,并没有提供锁的机制,也就是会出现同时修改数据的问题,需要自己用信号量等同步机制确保不会出现脏读等竞 阅读全文
摘要:
第一次安装mongodb后,需要增加一个账户,如果创建账户的时候报这个错误,是因为启动mongod的时候,指定的配置文件mongodb.conf中,需要先用noauth = true启动,注释掉auth = true 阅读全文
摘要:
在编译可移植代码的时候,非常的困难,因为不同系统的编译工具版本可能不一样,类库路径不一样,头文件不一样,所以手动解决这些事情非常的痛苦,并且由于系统更新迭代太快,导致根本无法维护,GNU Autotool的出现就是为了解决这个事情。 GNU Autotool是GNU toolchain的一部分,GN 阅读全文
摘要:
有两个仓库old和new,要把old仓库的内容推送到new仓库 删除old仓库的remote信息 git remote remove origin 增加new仓库的remote信息 git remote add origin xxx 把当前的分支推动到新仓库远程分支,并建立连接 git push - 阅读全文