随笔分类 - Linux
摘要:并发模型 常见的并发模型一般包括3类,基于线程与锁的内存共享模型,actor模型和CSP模型,其中尤以线程与锁的共享内存模型最为常见。由于go语言的兴起,CSP模型也越来越受关注。基于锁的共享内存模型与后两者的主要区别在于,到底是通过共享内存来通信,还是通过通信来实现访问共享内存。由于actor模型
阅读全文
摘要:1.基本命令git branch 查看本地分支git branch -r 查看远程分支git checkout xxx 切换分支git pull origin master //从远程同步到本地,master或分支名git pull origin xxxgit checkout -b xxx 新建x
阅读全文
摘要:Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用。一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能。一般流程都是下载需要的工具,然后在vimrc文件中配置加载工具选项,一直这么用也没觉得啥。但最近发现通过vundle工具可以很方便
阅读全文
摘要:1.启动调试 前置条件:编译生成执行码时带上 -g,如果使用Makefile,通过给CFLAGS指定-g选项,否则调试时没有符号信息。gdb program //最常用的用gdb启动程序,开始调试的方式gdb program core //用gdb查看core dump文件,跟踪程序core的原因g
阅读全文
摘要:当多个线程共享相同的内存时,需要确保每个线程看到一致的数据视图,当多个线程同时去修改这片内存时,就可能出现偏差,得到与预期不符合的值。为啥需要同步,一件事情逻辑上一定是有序的,即使在并发环境下;而操作系统对于多线程不会自动帮我们串行化,所以需要我们通过操作系统提供的同步方式api,结合自己的业务逻辑
阅读全文
摘要:这两天有同学使用数据校验工具时发现进程hang住了,也不知道什么原因,我简单看了看进程堆栈,问题虽然很简单,但能导致程序hang住,也一定不是小问题。简单说明下程序组件的结构,程序由两部分构成,dbchk和dbchk_inner,dbchk采用python代码实现,dbchk_inner采用C语言实
阅读全文
摘要:3.iostat iostat -xdmt 1 1 每秒输出一次io统计信息,共输出一次。 备注:若磁盘%util很大,超过90%,则表示磁盘IO到瓶颈了。 4.top
阅读全文
摘要:从图中可以看到,两块网卡,每块网卡有8个队列,最前面的是中断号,每个队列拥有独立的中断号,使用不同的CPU核心。
阅读全文