![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux/unix
aalbertini
这个作者很懒,什么都没留下…
展开
-
内核线程、轻量级进程、用户线程
http://hi.baidu.com/dreamsujia/blog/item/1ebc3f438d01cf149213c619.html http://www.cnitblog.com/tarius.wu/articles/2277.html 1, lwp必定与 kernel进程一一对应?2, lwp/kernel进程才是cpu调度的基本单元? 一对多, 一个lw原创 2009-10-21 19:07:00 · 542 阅读 · 0 评论 -
查看进程占用内存
1 top -p $pid2 pmap -x $pid3 cat /proc/$pid/statm 以页为单位。 所有的页数,物理内存大小 共享页 虚存 数据段+用户栈 脏页4 cat /proc/$pid/maps如何区分各个内存的段:代码段,数据段,堆段,栈段主要是根据权限来区分,代码段的权限,只读,可执行,例如:2a95575000-2a9557f000 r-xp 00000000 fd:00 38699038 /lib64/libnss_files-2原创 2010-11-01 11:26:00 · 2751 阅读 · 0 评论 -
hash_map && allocator
1 hash_map定义在__gnu_cxx下template, class _EqualKey = equal_to, class _Alloc = allocator > class hash_map;其中, 简单的 hash 定义在_gnu_cxx下, 通常自定义Key, 需要实现hashequal_to定义在std下, 自定义的Key也需要实现equal_to2 allocator默认的是ext/new_allocator。使用其他allocator时,原创 2010-11-02 13:42:00 · 1355 阅读 · 0 评论 -
内存碎片
一程序, 使用stl容器保存大量数据top/pmap看, 进程的writtable/private空间很大, 明显不合理;使用malloc_stats 看, in use的内存正常。那么唯一合理的解释是:1 内存碎片2 进程调用了free时, 并没有向OS归还内存; free内部有缓存机制以便下次malloc3 和stl容器无关通常所谓的stl的allocator分配器, 其内部缓存, 通常是应用层的缓存: clear掉容器内所有对象时, 只是把内存还给了allocator; allocator的生命周期结原创 2010-11-02 18:09:00 · 824 阅读 · 0 评论 -
xce/mime/MimeMessage类接口的说明
<br />void getTextPlain(FastString &s, FastString &charset);<br />得到解码后用文本方式表示的信体部分【就是通常的正文部分】, 与解码后内容的编码<br /> <br /> <br />void getTextHtml(FastString &s, FastString &charset);<br />得到解码后用html表示的信体部分<br /> <br />int MimeBodyPart::getAllHeaderLines(FastSt原创 2010-11-05 18:16:00 · 1006 阅读 · 0 评论 -
mimetic notes
MimeEntity一封邮件称为一个MimeEntity,具体由两部分组成: Header 和 Body。重要接口class MimeEntity{public: Header& header(); //得到header const Header& header() const; Body& body(); //得到body const Body& body() const; template void原创 2011-01-25 18:16:00 · 1712 阅读 · 2 评论 -
memcache nginx
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多转载 2011-03-10 23:39:00 · 2307 阅读 · 2 评论 -
libevent
<br />libevent事件处理框架分析这两天大致看了看libevent的代码,简单做一个分析.libevent最大的特点就是封装了对以下三种事件的响应:IO事件,定时器事件,信号事件.这里就分析libevent如果做到这一点的,在libevent中还包括一些其他的功能(如缓冲区),但是我这里就重点讲解这一部分了.事件原型,简单看一看用于封装事件的结构体定义:struct event { TAILQ_ENTRY (event) ev_next; TAILQ_ENTRY转载 2011-03-11 00:01:00 · 1639 阅读 · 0 评论 -
valgrind
<br />valgrind --tool=memcheck --leak-check=full app appargs<br /> <br />检测内存泄露, 检测不了so中的内存泄露。。???<br />=====从我的一次经历中可以得出该结论。<br />我调用了一个so, valgrind整个程序没问题, 但是内存一直涨; 注掉该so 一切ok 无内存问题原创 2011-03-14 10:11:00 · 742 阅读 · 0 评论 -
dlsym 不同so中的同名函数
#include void func1(){ printf("func1 ......./n"); return;}gcc test.c -fPIC -shared -o libtest.socp libtest.so test1.socp libtest.so test2.so================================#include #include int main(int argc, char *argv[]){ void *h1 =原创 2011-04-19 14:16:00 · 2102 阅读 · 0 评论 -
内存泄露
1) 一程序,top查看RES没怎么变, VIRT不停的增加, 每次10M。 经查是每次创建线程, 未设置为detach状态, 该线程执行完后资源未回收,导致每次漏10M。 每个线程的创建时缺省10M。 solaris上缺省1M2) cat /proc/$pid/status,原创 2011-07-08 15:35:27 · 622 阅读 · 0 评论 -
errno 多线程安全
定义编译宏-D_LIBC_REENTRANT -D _REENTRANT 调试宏-ggdb3 -原创 2011-09-16 15:45:01 · 739 阅读 · 0 评论 -
warning: implicit declaration of function导致core
centos上使用gcc编译某程序得到warning:implicit declaration of function同时写了一个测试程序用到c++库, 因此使用g++编译。测试程序无问题。 原程序使用gcc编译得到warning没在意, 使原创 2011-09-16 15:44:13 · 187 阅读 · 0 评论 -
myocr2
#!/bin/bashecho "args: lang font ftail filecount; format: lang.font.exp[1-filecount].ftail"lang=$1font=$2ftail=$3num=$4trlist=""boxlist=""if [ "$font" = "" ]then pre="$lan原创 2012-03-05 15:59:22 · 724 阅读 · 0 评论 -
gdb调试
cc http://www.cnblogs.com/xuxm2007/archive/2011/04/01/2002162.htmlgdb 多线程调试http://hi.baidu.com/hcq11/blog/item/9f5bfc6e696209d680cb4a25.html http://hi.baidu.com/litto/blog/item/759389dd1981113转载 2013-09-04 09:51:02 · 797 阅读 · 0 评论 -
tcp http https
http的get和post get用?分割url和参数; 多参数间用&分割。原创 2014-10-29 17:06:22 · 2486 阅读 · 0 评论 -
动态加载so
1:libf1.so#ifndef F1_HH_#define F1_HH_extern int func1(char *p);#endif#include using namespace std;#ifdef __cplusplusextern "C" {#endifint func1(char *p){ if(p) { std::cout std::cout } return 1;}#ifdef __cplusplus}#endiflibf2.so类似,原创 2010-09-09 14:14:00 · 4206 阅读 · 1 评论 -
semaphore
<br />什么是信号量(Semaphore0)<br /> Semaphore分为单值和多值两种,前者只能被一个线程获得,后者可以被若干个线程获得。 ??????(该说法来源于百度百科. 所谓的单值就是binary semaphore的意思么)<br /> <br />头文件<br />#include <semaphore.h><br /> <br />初始化<br />sem_init(&sema, 0, value); //value为初值<br />初始化信号量sem_t,初始化的时候可以指原创 2010-06-23 11:21:00 · 897 阅读 · 0 评论 -
pthread_join
转http://cache.baidu.com/c?m=9d78d513d98107f518bac7281a17a7711e2097624c8f8d4e23c0d408cd6b01070124f4ba543f0d4196806b6776f11200adba60297c5737b7ec99d515c0ffc97f6adb67722b4dd81605d36eed910432c054cb0cfeae6fe4b8f23495a5&p=91759a42d6df12a058f7db3a574b&user=baidupt原创 2010-06-23 10:49:00 · 936 阅读 · 0 评论 -
autoconf和automake的安装与使用
http://hi.baidu.com/luohuazju/blog/item/4e2d930802a2d5d962d986d2.html http://xunet.blog.51cto.com/138167/22019 2.configure.in文件的编辑configure的详细文档http://www.gnu.org/software/autoconf/manual/ind原创 2009-10-21 11:06:00 · 721 阅读 · 0 评论 -
date 的基本使用 suse
#秒数转年月日(和当前有8个小时的时差)date -d 1970-1-1 0:0:0 GMT + 2662 seconds +%Y%m%d%H%M%S#年月日转秒数(和当前有8个小时的时差)date -d 2009-10-21 17:00:03 GMT +%s 相应的到gawk成可实现函数function ytos(i){ ts = sprintf("原创 2009-10-21 17:16:00 · 2574 阅读 · 0 评论 -
linux 入门
http://os.yesky.com/linuxstudy/原创 2009-10-25 15:28:00 · 442 阅读 · 0 评论 -
unix编程艺术
http://www.uushare.com/filedownload?user=kesalin&id=1581941原创 2009-10-22 18:09:00 · 465 阅读 · 0 评论 -
mysql 索引
http://hi.baidu.com/huatuibian/blog/item/bd0a0d38529ba72797ddd8bf.html 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。 例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c转载 2010-01-28 21:41:00 · 485 阅读 · 0 评论 -
nysql collation
MySQL 的 collation【转】2009-02-28 21:51在以前用oracle的时候,很少关于它的collation方法,但是在mysql中,这点不加注意的话,却有可能会出现问题。问题是这样的:一张test的表,字符集采用的latin1。select to_id from test where to_id=cn象_王;+------------转载 2010-01-28 22:22:00 · 559 阅读 · 0 评论 -
vi 语法高亮
<br />vimrc中 <br />syntax on<br /> <br />/etc/profile文件下<br />export TERM=xterm-color<br /> <br />secure crt下 要设置成xterm, 选中颜色原创 2010-07-28 17:18:00 · 615 阅读 · 0 评论 -
gdb 查看 stl容器 zz
<br />将下面文件作为 ~/.gdbinit的内容, 或者在已有的~/.gdbinit中source下面的文件, 然后可以以下列方式查看stl容器的数据:<br /> 容器类型GDB 命令std::vector<T> pvector stl_variable std::list<T> plist stl_variable T std::map<T,T> pmap stl_variable std::multimap<T,T> pmap stl_variable std::set<T> pset stl_原创 2010-07-28 16:49:00 · 1035 阅读 · 0 评论 -
bogofilter 使用
bogofilter -B ../sample_mail/non_spam_test/* -n -o0.00,0.99 -k 64 -d ./wordlist -B, 指明文件列表 -n, 表示为正常邮件 -ospam_cutoff[,hamcutoff] -k, 指明BDB文件的大小-d, 指明wordlist所在目录 ./wordlist下的BDB文件作为内容特征输入; 训练完毕后./wordlist下的文件同时会被更新不需要指明-u参数, 上述语句本身就是增量式训练;bogofilter -B ../原创 2010-07-30 12:09:00 · 1006 阅读 · 4 评论 -
sed 示例
<br /> <br /> . 实例<br />删除:d命令 <br />$ sed '2d' example-----删除example文件的第二行。 <br />$ sed '2,$d' example-----删除example文件的第二行到末尾所有行。 <br />$ sed '$d' example-----删除example文件的最后一行。 <br />$ sed '/test/'d example-----删除example文件所有包含test的行。 <br />替换:s命令 <br />$原创 2010-08-04 14:44:00 · 802 阅读 · 0 评论 -
perl regular expresstion
sed -n -r ; -n表示quiet, 只输出匹配结果; -r表示使用正则表达式re:* 匹配任意? 匹配0,1+ 匹配>=1[]: 匹配其中任意字符;中括号内的连续字符可以使用-, 0-9表示0,1,2,3,4,5,6,7,8,9[^]: 匹配非中括号中的任意字符echo "def" | sed -n -r "/d[eE]f/p" 输出:defecho "def" | sed -n -r "/d[a]f/p" 输出:无/b: 匹配单词边界echo "defgh"原创 2010-08-04 15:26:00 · 682 阅读 · 0 评论 -
bogofilter notes
naive贝叶斯<br />前提假设:邮件中出现的各个词之间完全独立、不相关。<br />【前提假设未必正确但此模型效果很好】<br />(贝叶斯公式)<br />上式左端理解为F1, F2,,,,Fn同时出现时,属于类别C的概率。<br />式中分子就是<br /><br /><br /><br /><br /><br /><br />根据前提假设F之间独立,因此<br /><br />p(Fi|C, Fj)理解为当Fj出现在类别C中时,Fi的条件概率<br /><br /><br />因此判别由单词F1原创 2010-08-06 17:29:00 · 1733 阅读 · 0 评论 -
实现linux下的各种锁
<br />http://www.ibm.com/developerworks%20/library/l-ipc2lin2.html<br /> <br /> <br />Table 1. Synchronization mappingWindowsLinux -- threadsLinux -- processMutexMutex - pthread librarySystem V semaphoresCritical sectionMutex - pthread libraryNot applicabl原创 2010-08-10 17:35:00 · 908 阅读 · 0 评论 -
cent os 下使用hashmap + string
<br />hash_map定义在__gnu_cxx名字空间下原型是:template<class _Key, class _Tp, class _HashFcn = hash<_Key>, class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp> > class hash_map;使用hash_map + Keytype: 需要自定义 _HashFcn, _EqualKey如果只提供原创 2010-08-13 10:45:00 · 719 阅读 · 0 评论 -
linux 条件变量
等待者pthread_mutex_lock(&m_TheadMutex); while(m_dwActiveThreadCount != m_TotalWorkerTheadCount || m_HasActiveHandles==1) { pthread_cond_wait(&m_OwnerCanGo, &m_TheadMutex); } pthread_mutex_unlock(&m_TheadMu原创 2010-06-23 10:40:00 · 501 阅读 · 0 评论 -
zlog 占cpu
压力测试中, zlog级别设置比较低, log输出比较多, 已经很明显的造成cpu占用率上升; 同时写磁盘居多,io高, 导致load升高。基本功能性问题排除后, 压力时,将log级别调高。原创 2014-12-19 11:13:22 · 1315 阅读 · 0 评论