- 博客(62)
- 资源 (15)
- 收藏
- 关注
原创 使用markdown进行代码阅读笔记
1. markdown编辑软件markdownpad:http://download.youkuaiyun.com/detail/buptapple/9331211使用GitHub进行渲染来支持代码高亮:选项---markdown---markdown处理器---GitHub风格的Markdown不要选择离线模式的markdown,因为离线模式只支持代码片段渲染,不支持代码语法高亮。2.
2015-12-06 17:47:12
1141
原创 gperftools的pprof安装
gperftools提供了对内存和cpu的trace功能,trace结果可以通过pprof做可视化展示。这里记录一下pprof工具的相关安装:1. 基本展示,比如text: 只需要安装google-perftools就随带安装了pprof,text是默认支持的格式。 sudo yum install google-perftools.x86_642. 图形换展示,比如p
2015-11-15 10:24:37
7652
原创 linux文件系统文件路径,inode,block号,sector号的相互转换
测试文件:/usr/lib64/libstdc++.so.6.0.80. 装载debugfs mount -t debugfs none /sys/kernel/debug1. 正向查找 a. 根据文件查找inode $ls -i /usr/lib64/libstdc++.so.6 2050380 /usr/lib64/libstdc++.so.6
2015-11-10 12:47:42
5175
原创 获取当前时间并转为string
#include #include #include #include using namespace std;string getTimeInString(){ struct timeval tv; gettimeofday(&tv, NULL); struct tm *ptm = gmtime(&tv.tv_sec); string strTim
2015-10-20 13:56:00
1986
原创 调试libstdc++内部的函数
当libstdc++内部报错的时候一般不会深入调试,更多的是从自身代码来找问题。一方面是标准库出错的可能性较小,另一方面libstdc++的调试也不是很方便,默认的libstdc++不带符号表,stack一般定为不到具体的文件行号,比如:(gdb) bt#0 0x0000003ebda30265 in raise () from /lib64/libc.so.6#1 0x00000
2015-10-17 18:37:52
6274
原创 解决valgrind线程数不够的错误:no free slots available Increase VG_N_THREADS, rebuild and try again.
原生valgrind无法检查线程数较多的进程,解决的办法是自行修改源码并编译。1. 下载最新的valgrind源码包http://valgrind.org/downloads/current.html2. 修改VG_N_THREADS的值测试用的是3.10.1版本,默认是500,现在改为5000include/pub_tool_threadstate.h:#define VG_
2015-09-22 13:32:23
2572
转载 获取POSIX线程真实PID/TID
获取POSIX线程真实PID/TID Linux中,每个进程有一个pid,类型pid_t,由getpid()取得。Linux下的POSIX线程也有一个id,类型 pthread_t,由pthread_self()取得,该id由线程维护,其id空间是各个进程独立的(即不同进程中的线程可能有相同的id)。你可 能知道,Linux中的POSIX线程库实现的线程其实也是一个进程(LWP),只是该
2014-10-19 22:58:14
2315
转载 linux用户态和内核态理解
1、特权级 Intel x86架构的cpu一共有0~4四个特权级,0级最高,3级最低,硬件上在执行每条指令时都会对指令所具有的特权级做相应的检查。硬件已经提供了一套特权级使用的相关机制,软件自然要好好利用,这属于操作系统要做的事情,对于UNIX/LINUX来说,只使用了0级特权级别和3级特权级。也就是说在UNIX/LINUX系统中,一条工作在0级特权级的指令具有了CP
2014-03-18 13:32:31
19427
转载 让你的模拟器不再卡:VirtualBox安裝 Android-x86 4.0(可上网)
为什么Android虚拟机比iOS和WP7的虚拟机要慢很多呢?原因如下:1. Android 模拟器模拟的是 ARM 的体系结构(arm-eabi),而 iOS 和 WP7 的模拟器的目标体系结构都是 x86 的,另外 iOS 的模拟器中运行的 App 也是编译为 x86 的。这样一来 Android 模拟器需要做一些额外的二进制翻译工作。 2. Android 模拟器用的是 QE
2014-03-06 11:50:09
18814
转载 多线程程序中操作的原子性
多线程程序中操作的原子性0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用原子操作?1. 多线程环境下
2014-02-12 22:37:44
568
转载 Name Mangling in C++
摘要:详细介绍了C++中的Name Mangling的原理和gcc中对应的实现,通过程序代码和nm c++filt等工具来验证这些原理。对于详细了解程序的链接过程有一定的帮助。Name Mangling概述大型程序是通过多个模块构建而成,模块之间的关系由makefile来描述。对于由C++语言编制的大型程序而言,也是符合这个规则。程序的构建过程一般为:各个源文件分别编译,形成目标文件。
2014-02-10 16:52:03
587
转载 shell 积累
1. shell 函数:http://www.cnblogs.com/chengmo/archive/2010/10/17/1853356.html
2013-12-24 18:04:39
504
转载 组合c(m,n)的计算方法
组合c(m,n)的计算方法问题:求解组合数C(n,m),即从n个相同物品中取出m个的方案数,由于结果可能非常大,对结果模10007即可。方案1:暴力求解,C(n,m)=n*(n-1)*...*(n-m+1)/m!,n [cpp]int Combination(int n, int m) { const int M = 1000
2013-12-10 19:43:33
7306
转载 linux 错误机制
Linux错误机制1,在用户进行文件操作的时候,会出各种各样的错误,比如权限不足,空间不足,找不到文件等,此时需在程序中设置错误捕捉语句,并显示错误. 在linux中错误定义成了错误号和错误常数,如果发生错误,便宜会返回 在终端上可以用以下命令来查看错误的定义: cat /usr/include/asm/errno.h 如下:#ifnde
2013-12-10 12:23:13
801
转载 使用pssh进行并行批量操作
使用pssh进行并行批量操作假如同时给上千台服务器执行一个命令,拷贝一个文件,杀一个进程等,有什么简化运维管理的工具呢?在小型使用中我都是使用for循环,数量巨大,一方面不确定操作是否成功,一方面for循环语句性能不好估计且是不是同步并行执行.,这类工具比如pdsh,mussh,cssh,dsh等还有这里提到的pssh: 1 安装:#wget http://peak.telecomm
2013-11-29 18:08:42
5550
转载 teraSort相关
http://dongxicheng.org/mapreduce/hadoop-terasort-analyse/http://blog.youkuaiyun.com/yongjian_luo/article/details/9955249http://www.cnblogs.com/cherish_yimi/archive/2009/10/12/1581666.htmlhttp://so
2013-10-19 23:16:44
565
转载 C内存对齐详解 struct对齐
转:http://www.189works.com/article-10322-1.html 一、什么是对齐,以及为什么要对齐: 1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。
2013-10-12 19:47:39
1007
原创 linux中配置文件积累(screen)
screen:vbell offaltscreen onhardstatus alwayslastlinehardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'
2013-10-10 12:55:01
600
转载 RAID介绍
RAID0-6: 深入分析:http://blog.youkuaiyun.com/menogen/article/details/11848973;RAID知识点全面总结:http://blog.youkuaiyun.com/kkfloat/article/details/9673135
2013-10-04 22:54:40
513
转载 python 知识点积累
传值与传引用:http://hi.baidu.com/isaacli/item/60608cdc46d8de12d78ed040
2013-10-02 11:12:26
661
转载 IT面试题积累
蓄水池抽样算法:http://hi.baidu.com/cpuramdisk/item/260611ca0082bcd796445239
2013-09-26 12:46:03
454
转载 磁盘性能检测:fio
一. 官网http://freshmeat.net/projects/fio/二. 安装wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gzyum install libaio-develtar -zxvf fio-2.0.7.tar.gzcd fio-2.0.7makemake install三. 运行a
2013-09-24 00:15:35
5642
转载 Linux进程状态解析之R、S、D、T、Z、X
Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可
2013-08-09 00:31:45
697
转载 linux系统性能测试工具(磁盘)
一、磁盘性能测试工具1. LINUX下测试磁盘性能: http://www.centos.ws/centos/linux/866.html
2013-08-09 00:14:11
870
转载 linux系统监控工具(网络,磁盘,内存)
一、网络监控工具1. Linux 各种查看网卡流量的方法:http://jasonyong.blog.51cto.com/47753/174197
2013-08-06 22:20:55
3106
转载 Linux I/O调度策略
Linux I/O调度策略I/O scheduler的作用就是为请求队列里面的IO请求做一个优化,以此达到提高系统吞吐量、缩短响应时间的目的。更改I/O scheduler有两种方式:1./sys/block/device_name/queue/scheduler (IOscheduler); /sys/block/device_name/queue/nr_requ
2013-07-23 18:37:59
824
转载 python 输出彩色文字
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无 关。转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表 示就是 27, = 用八进制表示的 33)。\033[显示方式;前景色;背景色m显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、
2013-06-13 00:04:22
6028
转载 linux下 date命令实现 日期与时间戳互相转换
1.查看指定时间的时间戳 查看当前时间 #date +%s 查看指定时间 #date -d 2008-01-01 +%s 1199116800 #date -d 20080101 +%s 1199116800 2.将时间戳转换成date #date -d '1970-01-01 UTC 1199116800 seconds' 2008年
2013-06-11 11:02:11
1570
转载 shell脚本中echo显示内容带颜色
shell脚本中echo显示内容带颜色 shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 3
2013-05-23 16:18:36
938
转载 如何查看Linux系统中的 LABEL/UUID
如何查看Linux系统中的 LABEL/UUID使用 blkid 命令:用法(LABEL):# blkid -s LABEL/dev/hda3: LABEL="/"/dev/hda1: LABEL="/boot1"/dev/hda2: LABEL="SWAP-hda2"/dev/hdc1: LABEL="/boot9"/dev
2013-05-10 10:42:12
3167
转载 /etc/fstab
/etc/fstab1 什么是fstab2 fstab文件示例3 fstab 文件组成4 文件系统标识4.1 Kernel naming4.2 UUID4.3 Label5 建议5.1 atime 参数5.2 tmpfs5.2.1 修正因 /var 分区造成关机异常问题5.3 解决包含有空格的路径名无法使用的问题5.4 外部设备6
2013-05-10 10:41:03
660
转载 数据库与数据仓库的区别与联系(通俗版本)
数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。(维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数
2013-04-28 13:15:54
3138
转载 delete与delete [] 真正区别
delete与delete [] 真正区别 我们通常从教科书上看到这样的说明:delete 释放new分配的单个对象指针指向的内存delete[] 释放new分配的对象数组指针指向的内存那么,按照教科书的理解,我们看下下面的代码:int *a = new int[10];delete a; //方式1delete [] a; //方式2肯
2013-04-27 20:28:25
418
转载 mount命令详解
linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系 统、Linux系统和Windows系统组成的混合系统,不
2013-04-11 10:04:44
499
转载 linux下恢复删除文件
Linux文件系统的反删除方法选择自 zcatlinux 的 Blog Linux文件系统的反删除方法 Ext3文件系统结构的简单介绍 在Linux所用的Ext3文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分。每个文件还有一个节点,节点中包含有文件所有者,读写权限,文件类型等信息。对于一个小于12个块的文件,在节点中直接存储文件数据块的块
2013-04-09 21:18:53
593
转载 linux Top 命令详解
TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.TOP运行结果:top - 12:
2013-03-25 12:35:05
1196
转载 vim 配置
.vimrc: " Modeline and Notes {" vim: set foldmarker={,} foldlevel=0:" " Deployed by goto tool" }" Basics { set noc
2013-02-25 16:25:29
479
转载 SCSI IDE
从性能上说,SCSI当然要比IDE好,毕竟SCSI控制器上有一个相当于CPU的芯片,能够处理大部分工作,减轻了中央处理器的负担(CPU占用率)。同一时间推出的硬盘中,SCSI系产品的转速、缓存容量和数据传输率均比IDE系高,要比速度,IDE怎样也比不过SCSI。在价格方面,SCSI是昂贵的代名词,面向商业级应用,IDE则以低价格著称,面向桌面式计算机。 易用性:使用
2013-02-17 10:35:51
470
markdownpad2(附带秘钥)
2015-12-06
ZX数学函数作图器1.2.0.227
2013-04-19
Perf Event :Linux下的系统性能调优工具
2013-04-07
SSD的写入放大 - Write amplification
2013-04-02
SSD基础知识及固态存储器前景分析
2013-04-02
尽管去做——无压工作的艺术.pdf
2013-03-31
测试驱动开发.pdf
2013-03-24
设计模式精解-GoF 23种设计模式解析附C++实现源码
2013-03-17
敏捷软件开发:原则、模式与实践(带书签)
2013-03-14
24种设计模式介绍与6大设计原则
2013-03-13
Google的C++编码规范 中文
2013-03-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人