
Linux
骑自行车
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
epoll 误区
http://my.oschina.net/u/732357/blog/78122转载 2014-07-06 12:23:58 · 767 阅读 · 0 评论 -
rsync
简介对于选择linux 作为应用平台的的中小型企业或网站来说,往往面临如何实现数据远程备份或者网站镜象的问题,虽然有商业化的备份和镜象产品可供选择,但这些产品的价格往往过于昂贵。因此如何利用自由软件高效实现远程备份和网站镜象就成为一个值得讨论的话题。通过网络进行远程数据备份或者网站镜象的最简单的方法就是使用wget,但是这种方式每次都需要将所有数据都重新在网络上传输一遍,而不考虑哪些文转载 2013-05-14 16:08:07 · 894 阅读 · 0 评论 -
千万级并发实现的秘密:内核不是解决方案,而是问题所在!
摘要:C10K问题让我们意识到:当并发连接达到10K时,选择不同的解决方案,笔记本性能可能会超过16核服务器。对于C10K问题,我们或绕过,或克服;然而随着并发逐渐增多,在这个后10K的时代里,你是否有想过如何去克服C10M。既然我们已经解决了 C10K并发连接问题,应该如何提高水平支持千万级并发连接?你可能会说不可能。不,现在系统已经在用你可能不熟悉甚至激进的方式支持千万级别的并发连转载 2013-05-17 12:53:51 · 951 阅读 · 0 评论 -
Pinterest谈实战经验:如何在两年内实现零到数百亿的月访问
http://www.youkuaiyun.com/article/2013-04-16/2814902-how-pinterest-scaling-0-to-billions-pv摘要:在一个名为 《Scaling Pinterest》 的主题演讲上,Pinterest的Yashwanth Nelapati和 Marty Weiner为我们讲述了Pinterest如何在两年内实现零到数百转载 2013-04-19 08:43:11 · 931 阅读 · 0 评论 -
linux下查出cpu占用过高线程
http://mnt.conf.blog.163.com/blog/static/115668258201211734032988/首先利用top命令,按P,以cpu使用率从高至低排序 然后利用ps aux | grep PID命令可以判断是tomcat 出了问题但要定位到具体线程或者代码,还需要下面的操作转载 2013-04-10 14:51:31 · 1687 阅读 · 0 评论 -
内存不足引起的SIGKILL:一个缓冲区不断增长问题的定位与解决
http://www.cnblogs.com/chutianyao/archive/2011/10/27/2226091.html新版本的录制程序终于快完工了,在添加了一个新特性“报警录制”后,就开始测试了。一开始就不顺利:程序正常运行一段时间后就会崩溃,由于程序添加了守护进程,在崩溃后会自动重启。因此测试得到的结果就是:程序运行一段时间后就自动重启,并转载 2013-04-09 17:14:11 · 7346 阅读 · 0 评论 -
Linux信号列表
http://blog.youkuaiyun.com/baobao8505/article/details/1115820我们运行如下命令,可看到Linux支持的信号列表:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGB转载 2013-04-09 09:50:02 · 638 阅读 · 0 评论 -
socket中的超时问题
linux和windows下用setsockopt设置SO_SNDTIMEO,SO_RCVTIMEO的参数的一点区别http://blog.youkuaiyun.com/opendba/article/details/6736281linux和windows下用setsockopt设置SO_SNDTIMEO,SO_RCVTIMEO的参数的一点区别 UDP的socket转载 2013-02-19 18:05:47 · 6307 阅读 · 0 评论 -
linux下获取当前目录
http://www.rosoo.net/a/200911/8042.htmlLinux下去获取程序当前路径,包括当前工作路径及实际执行文件路径。TAG: Linux 1. 取得当前工作目录(相当于windows下的GetCurrentDirectory): #include "stdio.h" #include "s转载 2013-01-31 11:48:21 · 888 阅读 · 0 评论 -
GCC hash_map:string为键和const char*为键的性能比较
http://hi.baidu.com/ah__fu/item/7a498928b3d44380ae48f537测试的源码如下://-----------------------------------------------------------------------------------------#include #include using nam转载 2013-01-07 17:19:12 · 1189 阅读 · 0 评论 -
Linux网络编程 -- select/epoll得知socket有数据可读,如何判断数据全部被读取完毕? .
http://blog.youkuaiyun.com/ldd909/article/details/6168077 补充一点:只有在使用epoll ET(Edge Trigger)模式的时候,才需要关注数据是否读取完毕了。使用select或者epoll的LT模式,其实根本不用关注数据是否读完了,select/epoll检测到有数据可读去读就OK了。 这里有两种做法: 1. 针对TCP,转载 2012-11-23 11:33:15 · 1938 阅读 · 0 评论 -
Linux:pmap命令,查看进程占用的内存及使用地址空间(转)
http://www.cnblogs.com/tibetanmastiff/archive/2011/10/10/2205799.html 情景:根据apache的工作方式,当我们要判断某个httpd进程使用内存的详细情况的时候,就用到了pmap命令: 例如:1.查看pmap如何使用:[root@CentOS5 ~]# man pmapPMAP(1)转载 2012-11-20 14:10:58 · 6557 阅读 · 0 评论 -
Linux lsof命令详解
http://club.topsage.com/thread-234763-1-1.html lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 r转载 2012-11-19 17:08:22 · 636 阅读 · 0 评论 -
Linux系统中“动态库”和“静态库”那点事儿 .
http://blog.youkuaiyun.com/wjlkoorey/article/details/7345135 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻。在这之前,我们需要了解一下源代码到可执行程序之间到底发生了什么神奇而美妙的事情。 在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式。ELF(转载 2012-11-29 16:05:17 · 1804 阅读 · 3 评论 -
linux ssh 无密码登陆
http://blog.youkuaiyun.com/pyhsky/article/details/5310375使用一种被称为"公私钥"认证的方式来进行ssh登录. "公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)然后把公钥放到服务器上(~/.ssh/authorized_keys),转载 2013-05-14 16:36:08 · 783 阅读 · 0 评论 -
Iinux中select函数的使用
http://bbs.ednchina.com/BLOG_ARTICLE_151601.HTM阻塞式I/O编程有两个特点: 一、如果一个发现I\O有输入,读取的过程中,另外一个也有了输入,这时候不会产生任何反应,也就是需要你的程序语句去select的时候才知道有数据输入。 二、程序去select的时候,如果没有数据输入,程序会一直等待,直到有数据位置,也就是程序中无需循转载 2013-06-05 19:50:12 · 680 阅读 · 0 评论 -
linux里的进程简介
http://bbs.youkuaiyun.com/topics/360160535/sbin/init 内核启动的第一个用户级进程,引导用户空间服务 [kthreadd] 内核线程管理[migration/0] 用于进程在不同的CPU间迁移[ksoftirqd/0] 内核调度/管理第0个CPU软中断的守护进程[migr转载 2014-04-24 19:26:38 · 1474 阅读 · 0 评论 -
linux 多线程 信号
在开发linux mjpg-streamer程序的时候,使用signal,奇怪的是程序竟然退出了。后来读了曹老师的文章,才解决了这个问题。所以收录到自己的博客里。呵呵多线程中定时器的使用418651006192010-10-14 19:47:29 ——转载 2013-10-28 15:03:17 · 2053 阅读 · 0 评论 -
gcc中关于静态库和动态库使用
http://blog.chinaunix.net/uid-25871104-id-3069931.html1,如何生成静态库静态库只是一堆object对象的集合,使用ar命令可以将.o文件打包成.a静态库。假设gcc已经生成了a.o, b.o, c.o,使用下面的命令即可生成libmylib.a#ar rcs libmylib.a a.o b.o c.o转载 2013-08-20 10:33:12 · 1128 阅读 · 0 评论 -
clock 、times 、gettimeofday
clockNAME clock - Determine processor timeSYNOPSIS #include clock_t clock(void);DESCRIPTION The clock() function returns an approximation of processor time used原创 2012-06-05 19:28:11 · 1022 阅读 · 0 评论 -
linux mmap 和 mmap64
今天心头一热把mmap改成mmap64,其他什么都没改变,结果收到SIGSEGV。原创 2013-07-31 17:58:11 · 9825 阅读 · 0 评论 -
tcp连接 自己跟自己建立连接
http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201282735534501/转载 2013-07-31 15:30:38 · 1373 阅读 · 0 评论 -
fcntl使用
http://www.cnblogs.com/andtt/articles/2178875.html功能描述:根据文件描述词来操作文件的特性。#include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, in转载 2013-07-24 19:08:07 · 767 阅读 · 0 评论 -
Linux下高性能网络编程中的几个TCP/IP选项
http://blog.chinaunix.net/uid-20357359-id-1963666.html最近在新的平台上测试程序,以前一些没有注意到的问题都成为了性能瓶颈,通过设置一些TCP/IP选项能够解决一部分问题,当然根本的解决方法是重构代码,重新设计服务器框架。先列出几个TCP/IP选项:选项man 7 socket:SO_REUSEADDRSO_RECVBUF转载 2013-07-24 16:40:04 · 1092 阅读 · 0 评论 -
【转】socket TCP_DEFER_ACCEPT
http://blog.chinaunix.net/uid-20737871-id-1881239.html想要提高TCP SERVER的性能(编程方面)其中一个方法就是使用TCP_DEFER_ACCEPT来减少实际的ESTABLISHED连接数当一个链接还没有实际传输数据时,使用此参数设置socket将会只产生SYN_RECV状态的链接不得不说网上资料抄袭现象严重,而且残转载 2013-07-24 16:39:31 · 1121 阅读 · 0 评论 -
多个进程绑定相同端口的实现分析[Google Patch]
http://blog.chinaunix.net/uid-10167808-id-3807060.html作者:Godbach Blog: http://godbach.blog.chinaunix.net 微博:weibo.com/godbach日期:Jul 17, 2013本文可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接。----转载 2013-07-18 18:01:29 · 2155 阅读 · 0 评论 -
简述Linux Epoll ET模式EPOLLOUT和EPOLLIN触发时刻
http://www.cnblogs.com/moodlxs/archive/2011/12/16/2290288.htmlET模式称为边缘触发模式,顾名思义,不到边缘情况,是死都不会触发的。EPOLLOUT事件:EPOLLOUT事件只有在连接时触发一次(固定一次?),表示可写,其他时候想要触发,那你要先准备好下面条件:1.某次write,写满了发送缓冲区,返回转载 2013-07-01 14:57:32 · 887 阅读 · 0 评论 -
实现linux的自动登录--命令行模式启动 .
http://blog.youkuaiyun.com/swliao/article/details/5989203linux的登录主要是由两个文件在控制,/usr/sbin/getty来获得用户名,并进行检查用户名是否存在,然后将用户名传递给/usr/bin/login来获取用户输入密码和检查密码是否正确.所以要实现linux的自动登录,就要改动这两个文件.1.getty实现的主要功能是:转载 2012-04-09 17:07:22 · 1631 阅读 · 0 评论 -
linux下system函数介绍
int system(const char * cmdstring){ pid_t pid; int status; if(cmdstring == NULL){ return (1); } if((pid = fork()) status = -1; } else if(pid == 0){转载 2012-02-14 08:47:57 · 5742 阅读 · 1 评论 -
Linux 下hash_map的使用
http://blog.sina.com.cn/s/blog_73eb956401019cq1.html Linux下使用hash_map 问题1:头文件#if 0 #if __GNUC__>2 #include #include using namespace __gnu_cxx; #else #include #include usi转载 2012-11-09 17:26:36 · 1374 阅读 · 0 评论 -
tcp socket的发送与接收缓冲区 .
http://blog.youkuaiyun.com/cyblueboy83/article/details/1791713 (1)应用程序可通过调用send(write, sendmsg等)利用tcp socket向网络发送应用数据,而tcp/ip协议栈再通过网络设备接口把已经组织成struct sk_buff的应用数据(tcp数据报)真正发送到网络上,由于应用程序调用send的速度跟网络介质发送数转载 2012-11-09 10:03:14 · 1259 阅读 · 0 评论 -
socket缓冲区大小 .
http://blog.youkuaiyun.com/jfkidear/article/details/7826789 socket缓冲区大小默认为64 k理论上最优大小为 带宽乘以往返时间(RTT通过ping ip地址的最后一行得到,如下图所示)一般把缓冲区大小的最优化设置需要参照带宽与往返时间RTT得到的带宽延迟BDP。假设应用程序是通过一个 100Mbps 的局域网进行通转载 2012-11-08 09:59:54 · 4452 阅读 · 0 评论 -
SHELL test [ 命令用法
原文地址:http://www.examw.com/linux/all/114976/index.htmltest命令用法。功能:检查文件和比较值 1)判断表达式 if test (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2 两个表达式都为真 test 表达式1 –o 表达式2转载 2012-04-05 10:27:23 · 40802 阅读 · 0 评论 -
Linux下共享库路径配置问题
http://blog.youkuaiyun.com/ldong2007/article/details/3227214 1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到2. 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也转载 2012-03-02 18:19:18 · 4629 阅读 · 0 评论 -
gdb调试Linux内核
http://hi.baidu.com/%C4%FE%BE%B2%B5%C4%B7%B1%BB%AA/blog/item/1c4c83192ac4dd158718bf66.html 原理:gdb可以支持远程的调试,串口连接和tpc/ip网络链接两种。在Ubuntu 9.10Linux下面,virtualbox 作为虚拟机,装有待调试的Linux系统。a.创建链接。这里转载 2012-02-27 14:33:54 · 5100 阅读 · 0 评论 -
Linux系统kernel参数传递方式
http://it.china-b.com/linux/linuxrz/20090730/126959_1.html 2.有的时候为了省去make menuconfig的时间,并且内核命令也是固定的,就可以写死内核arch/arm/setup.c文件default_command_line,这个变量本来是初始化为CONFIG_CMDLINE的3.除了方法1之外,另外一种正规的方法就是将转载 2012-02-27 09:59:57 · 712 阅读 · 0 评论 -
关于SIGSEGV错误及处理方法
http://blog.youkuaiyun.com/brace/article/details/1102422今天编程遇到了SIGSEGV错误,比较困惑,所以找了些资料,总结一下:(1)官方说法是: SIGSEGV --- Segment Fault. The possible cases of your encountering this error are: 1.buffer转载 2012-02-27 11:03:51 · 1996 阅读 · 0 评论 -
uboot bootargs环境变量 .
http://blog.youkuaiyun.com/ying_seven/article/details/6452779 看到这个标题,可能觉得这个并没有什么的,其实不然,编好了u-boot了,但是如何来使用确不是那么简单的,想当初我将uboot制作出来后以为全部都搞定了,屁颠屁颠的烧到板子上后可系统就是起不来,为什么了,折腾了很久以后才发现是u-boot的环境变量设置错误,在后来的工作中,我发现一转载 2012-02-24 10:33:48 · 1997 阅读 · 0 评论 -
mallinfo, 打印堆栈, malloc钩子, mtrace()
http://blog.youkuaiyun.com/wallacexiang/article/details/4393031 mallinfo, 打印堆栈, malloc钩子, mtrace()一:获得即时内存状态:void getMemStatus(){ struct mallinfo info = mallinfo (); printf("aren转载 2012-01-11 11:50:03 · 4379 阅读 · 0 评论 -
使用statvfs读取文件系统信息
http://wkt55555.blog.163.com/blog/static/445152592010880143286/ // statvfs.c// // Copyright 2010 wkt // http://www.mkssoftware.com/docs/man5/struct_statvfs.5.asp///文件转载 2012-01-10 22:52:13 · 1218 阅读 · 0 评论