- 博客(84)
- 资源 (27)
- 收藏
- 关注
原创 Linux select 文件描述符1024限制
最近系统出现宕机的情况,分析core文件,所有的线程都在select处。最后怀疑是文件描述符超过了1024。但是想到Apache也是采用select的io模型。所以还是很不理解。查看了Linux的内核源码linux-2.6.32。static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp){
2016-11-15 14:25:07
3172
转载 select真的有限制吗
select真的有限制吗Jun 1st, 201412:00 am 在刚开始学习网络编程时,似乎莫名其妙地就会被某人/某资料告诉select函数是有fd(file descriptor)数量限制的。在最近的一次记忆里还有个人笑说select只支持64个fd。我甚至还写过一篇不负责任甚至错误的博客(突破select的FD_SETSIZE限制)。有人说,直接重新定义FD_SETSI
2016-11-14 13:20:33
1454
2
转载 socket中的函数遇见EINTR的处理
这几天,写服务器代码过程当中,遇见EINRT信号的问题,我是借鉴 《unp 》,采用continue或者goto again循环解决的。但是感觉这个还是很有必要记录一下。网络上查找到的信息很多。下面是我查找到的和EINTR有关的介绍:1 http://blog.csdn.net/yanook/article/details/7226019 慢系统调用函数如何处理中断信号EINTR2
2016-11-11 19:48:04
391
转载 内存分配对多线程程序性能的影响
http://www.oracle.com/technetwork/cn/articles/servers-storage-dev/mem-alloc-1557798-zhs.html内存分配对多线程程序性能的影响作者:Rickey C. Weisner,2012 年 3 月如果您的应用程序在新的多处理器、多核、多线程硬件上运行时不能伸缩,问题可能在于内存分配器中的
2016-11-04 15:41:37
2620
转载 不要在linux上启用net.ipv4.tcp_tw_recycle参数
http://www.tuicool.com/articles/3eYRb2A不要在linux上启用net.ipv4.tcp_tw_recycle参数时间 2015-07-27 21:18:55 莿鸟栖草堂原文 http://www.cnxct.com/coping-with-the-tcp-time_wait-state-on-busy-linux-server
2016-10-21 17:13:54
551
转载 【经验总结】tcp_tw_recycle参数引发的故障
tcp_tw_recycle参数引发的故障By Eric 故障描述: 2010年9月7日,新上线的手机游戏论坛有部分地区用户反应登陆游戏时出现不能登陆或登陆超时等情况,观察用户同时在线数量开始下降情况。排错过程: 一、初步检查是否有变更导致的故障: 1、联系同事检查网络是否有问题或有对该机房网络是否有进行过调整,反回结果是没有变更操作。
2016-10-21 17:12:44
748
转载 redis连接过多的一个解决方法
报错 Cannot assign requested address写了个程序,对redis连续进行100000访问,却出现以了Cannot assign requested address的问题,我起先是以为是redis的问题(可能承受不了这么多访问量),可是redis被大家吹的那么NB,不会出现这么SB的问题吧,于是google之,发现原来是:客户端频繁的连服务器,由于每次连接都在很短的时间内
2016-10-21 17:01:06
466
转载 a label can only be part of a statement and a declaration is not a statement
【转载】a label can only be part of a statement and a declaration is not a statement GCC:error: a label can only be part of a statement and a declaration is not a statement switch(a)
2016-09-18 18:19:02
510
转载 C语言的一些特殊用法(#define)
宏 UNUSED_PARAM 的作用该宏的定义如下: #ifndef UNUSED_PARAM #define UNUSED_PARAM(v) (void)(v) #endif 假如一个有返回值的函数 如调用时是没有使用它的返回值,编译器会给出一个警告 如果用void强制转换一下,则明确告诉编译器不使用返回值 也就是为了消除警
2016-07-14 10:42:25
766
转载 布隆过滤器(Bloom Filter)详解
http://www.cnblogs.com/haippy/archive/2012/07/13/2590351.html布隆过滤器(Bloom Filter)详解2012-07-13 18:35 by Haippy, 23274 阅读, 6 评论, 收藏, 编辑 布隆过滤器[1](Bloom Filter)是由布隆(Burton Howard Bl
2016-06-29 17:06:55
378
转载 大型网站架构演变和知识体系
大型网站架构演变和知识体系之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握
2016-01-05 17:36:52
330
转载 市场营销:用心理学证明 “单品爆款”是大趋势
市场营销:用心理学证明 “单品爆款”是大趋势来源: 户外资料网 作者: 户外资料网编辑中心 添加时间:2015-1-6 16:03 当我们说到如何取悦消费者时,大部分人可以脱口而出的一句话就是:“提高消费者的利益,降低消费者的成本”—如果消费者能够付出更低的成本买到更好的东西,他们自然就会选择你的商品。为什么很多公司能够靠“单品爆款”取得了成功? 很 多公司觉得“多即是好”,给消费
2016-01-05 17:35:10
847
转载 什么是消息队列(Message Queue)?
http://www.36dsj.com/archives/25113在计算机科学中,消息队列和邮箱是用于进程间通信或同一进程内的线程间通信的软件工程组件。他们使用一个队列来传播消息——传递控制或者内容。群体传播系统提供类似的功能。译文:机器学习ML简史浅谈语音识别、匹配算法和模型技术向:一文读懂卷积神经网络概述消息队列提供一个异步通信协议,这意味着该消息的发送者和接收
2015-12-21 16:26:13
3399
原创 《庄子·杂篇·盗跖第二十九》
http://www.gushiwen.org/GuShiWen_87df5c84f5.aspx【题解】“盗跖”为一人名,指称一个名叫跖的大盗,本篇以人物之名为篇名。《盗跖》内容的中心是抨击儒家,指斥儒家观点的虚伪性和欺骗性,主张返归原始,顺其自然。本篇写了三个寓言故事,自然地分为三大部分。第一部分至“几不免虎口哉”,写盗跖与孔子的对话,孔子规劝盗跖,反被盗跖严加指斥,称为“巧伪”
2015-11-23 20:54:13
1114
转载 Dos命令查看端口占用及关闭进程
Dos命令查看端口占用及关闭进程1. 查看端口占用2. 关闭进程3. 端口状态1. 查看端口占用在windows命令行窗口下执行:netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448端口“8080”被PID(进程号
2015-04-16 14:30:56
471
转载 postgresql死锁
SELECT * FROM pg_stat_activity WHERE NOt pid=pg_backend_pid();SELECT pg_cancel_backend('1750'); --pid
2015-03-11 17:18:04
741
转载 oracle向PostgreSQL迁移
1. postgreSQL 没有dual 例子: oracle : select sysdate from dual; postgreSQL: select current_timestamp; 为保证程序兼容性,可创建伪视图(view )替代: CREATE OR REPLACE VIEW dual AS SELECT N
2015-03-11 17:16:48
8493
1
转载 Linux_利用fdisk建立swap分区
这种情况可以针对没有建立swap或者swap空间比较小。1、对硬盘进行分区。#fdisk /dev/sdaCommand (m for help): pDisk /dev/sda: 69.7 GB, 69793218560 bytes255 heads, 63 sectors/track, 8485 cylindersUnits = cylinders of 16065
2015-02-06 17:17:14
3020
转载 Linux新建和增加Swap分区
以前做过增加swap分区的事情,今天一个同事问到我如何做,故记个笔记整理一下吧。另外,以前我写过“交换分区swap的大小分配”,大家也可先看一下。我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢?在装完Linux系统之后,建立Swap分区有两种方法。1.新建磁盘分区作为swap分区2.用文件作为swap分区 (操作更
2015-02-06 17:13:52
476
转载 Ubuntu 12.04的SWAP设置
我在安装ubuntu 12.04 LTS的时候,因为磁盘分区问题,在安装的时候没有设置SWAP分区,后来在使用过程中,时而出现系统运行不流畅的情况,看来SWAP分区还是需要的。1. 在ubuntu中配置使用新创建的Swap分区Command list:# 查找Swap分区的UUIDsudo blkid# 在/ect/fstab中加入新的Swap分区sud
2015-02-02 13:43:30
1116
转载 tuxedo 常见问题总结
tuxedo 常见问题总结1. 非图形界面下的安装./tuxedo81_aix_32bit.bin -i console 加入 -i console则不需要图形支持2.察看版本和patch信息$TUXDIR/bin/tmadmin -v3.对ubb文件只做语法检查(不真正的load成TUXCONFIG 真正tmloadcf -y)tmloadcf -n ubb
2014-12-23 09:41:42
2302
转载 大型网站系统架构演化之路
目录[-]前言一、最开始的网站架构二、应用、数据、文件分离三、利用缓存改善网站性能四、使用集群改善应用服务器性能五、数据库读写分离和分库分表六、使用CDN和反向代理提高网站性能七、使用分布式文件系统八、使用NoSql和搜索引擎九、将应用服务器进行业务拆分十、搭建分布式服务小结前言一 个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的
2014-10-15 15:39:21
591
转载 MySQL的sequence解决方案
由于MySQL不支持sequence,所以从Oracle迁移时需要采用自定义sequence的方式来解决。1. 首先建立一张sequence基础表,用来存储用户所有的sequence内容。CREATE TABLE seqmysql( seqname varchar(50), `currentValue` int(11),
2014-10-15 15:33:07
2438
转载 不带缓冲IO和带缓冲IO
先来看看不带缓存的I/O和标准(带缓存的)I/O都有那些不带缓存的I/O: read,write,open......标准(带缓存的)I/O: fgets,fread,fwrite.....这里使用两个对应的函数进行比较:ssize_t write(int filedes, const void *buff, size_t nbytes)size_t fwrite(
2014-07-01 10:34:37
439
转载 oracle_SQL中ROWID与ROWNUM的使用
1.ROWNUM的使用——TOP-N分析使用SELECT语句返回的结果集,若希望按特定条件查询前N条记录,可以使用伪列ROWNUM。ROWNUM是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说ROWNUM是符合条件结果的序列号。它总是从1开始排起的。使用ROWNUM时,只能使用 举例:student(学生)表,表结构为: ID
2014-06-18 17:45:47
456
转载 sql查询重复记录、删除重复记录方法大全
查找所有重复标题的记录:SELECT *FROM t_info aWHERE ((SELECT COUNT(*)FROM t_infoWHERE Title = a.Title) > 1)ORDER BY Title DESC一。查找重复记录1。查找全部重复记录Select * From 表 Where 重复字段 In (Select 重复字段
2014-06-18 16:16:55
1531
转载 oracle的tnsping与TCPIP的ping命令的比较
orale的tnsping与TCPIP的ping命令的比较 比较orale的tnsping与TCP/IP的ping命令: ----------------------------------------------------------------------------- Oracle Net 工具(命令)tnsping,是一个OSI会话层的工具,它用来:
2014-05-06 16:36:35
1152
转载 audit基本设置
audit基本设置平台:10gR2:1.开启审计:alter system set audit_sys_operations=truescope=spfile;alter system set audit_trail=db_extended scope=spfile;重启database2.基本概念审计3个级别:a) statement语句审计查询:DBA_
2014-05-06 14:45:48
3109
转载 审计Oracle数据库的使用
仅使用权限、角色、视图、甚至细粒度安全策略建立访问控制系统还不能保证数据库的安全。审计数据库的使用能让我们知道访问控制机制是否确实像所希望的那样工作。审计涉及监控和记录用户的数据库活动。Oracle提供了大量的审计类型的控制选择,可以再会话级或在整个数据库级进行审计。主要分为标准审计和细粒度审计,标准审计基于语句级、权限级和对象级。而细粒度审计涉及某种粒度的数据访问,或涉及基于内容的某些活动。
2014-05-06 14:44:59
733
转载 ssh 连接慢
重新安装机器的情况下我们经常会遇到的一个情况是telnet到server速度很快,但是ssh连接的时候却很慢,大概要等半分钟甚至更久。ping的速度也非常好,让人误以为是ssh连接不上。 下面说下如何解决这样的问题,最为常见的原因是因为server的sshd会去DNS查找访问client IP的hostname,如果DNS不可用或者没有相关记录,就会耗费大量时间
2014-05-04 15:37:56
422
转载 “bash: fork: Resource temporarily unavailable”的解决方案
这两天,我登陆到一台服务器上,偶尔就出现”bash: fork: Resource temporarily unavailable”的提示,这是什么命令都不能用,但偶尔过一会就好了。前两天也没太在意,今天再次遇到,然后找到了根本原因。当出现”bash: fork: Resource temporarily unavailable”时,一般来说是系统上的进程数量太多了,达到了命令”ulimit
2014-05-04 15:26:38
8066
转载 Oracle如何查看日志
Oracle日志查看一.Oracle日志的路径:登录:sqlplus "/as sysdba"查看路径:SQL> select * from v$logfile;SQL> select * from v$logfile;(#日志文件路径)二.Oracle日志文件包含哪些内容:(日志的数量可能略有不同)control01.ctl example01.d
2014-04-29 15:26:08
975
转载 DOS下常用网络命令技巧
DOS,即使对于许多自称了解计算机的人而言,也是一个比较陌生的词汇。然而,在网络管理过程中,DOS命令却是一个不可逾越的障碍,几乎所有的网络命令都运行在DOS界面。对初级用户而言,掌握一些常用网络命令在网络测试和配置操作中非常实用;对高级用户而言,了解网络命令的常用参数和使用技巧,可以获取更多的配置和故障信息,从而更好地、有针对性地解决问题。 一、显示和修改本地ARP列表——ARPAR
2013-10-21 15:21:32
760
转载 memwatch检测内存泄露
memwatch检测内存泄露简介:memwatch简单易用,能检测未被释放的内存,释放多次的内存。安装:① 下载 http://www.linkdata.se/sourcecode/memwatch/② 解压 找出 memwatch.c、memwatch.h即可。使用:① 编译时,需追加MEMWATCH(使用memwacth,详见memwatch.h
2013-09-05 15:48:33
717
转载 Oracle 10g及pro*c相关问题及解决方法
Oracle 10g及pro*c相关问题及解决方法2010-09-26 10:47:35分类: C/C++最近一直在进行ORACLE 10g和PRO*C的学习,其中遇到了不少的问题,现记录下来,以供以后参考。一、常见问题 [注:我的linux版本是rhel 5,Oracle版本是10g]1、在ORACLE 10g 安装准备的过程中:缺少libXp.so.6依
2013-09-05 15:47:36
1232
转载 memwatch使用说明书
memwatch使用说明书1.memwatch是什么? memwatch是C语言的内存检测器。除了检测内存的功能外,它同样可以做其它的一些事情,而我们主要还是在于讲述它的基本功能。如果你真的想要知道所有相关的具体细节,可详细查看头文件memwatch.h以及源代码。那里面有具体且详细的注释说明。2.如何获取最新的版本? http://www.linkdata
2013-09-05 12:55:07
1420
转载 linux之sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会
2013-05-29 10:32:28
440
转载 Dynamic Performance Tables not accessible 问题解决
刚新建立的用户,在添加表时,出现以下错误: Dynamic Performance Tables not accessible, Automatic Statistics Disabled for this session You can disable statistics in the preference menu,or obtanin select privilig
2013-05-28 11:17:58
497
转载 Linux crontab 命令格式与详细例子
基本格式 :* * * * * command分 时 日 月 周 命令第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令crontab文件的一些例子:30 21 * * * /usr/local/etc/rc.d/
2013-05-28 11:00:02
578
[4.4BSD操作系统设计与实现].The.Design.and.Implementation.of.the.4.4BSD.Operating.System
2012-10-29
TUXEDO培训教材
2012-10-22
TUXEDO快速入门
2012-10-22
OCCI_中文编程指南
2012-10-09
Objective-C基础教程.pdf
2012-09-27
Linux_101_Hacks_CN
2012-06-21
正则表达式必知必会
2012-04-06
TCP-IP详解卷三:TCP事务协议,HTTP,NNTP和UNIX域协议
2012-02-08
TCP-IP详解卷二:实现
2012-02-08
TCP-IP详解卷一:协议
2012-02-08
C与指针.pdf
2012-01-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人