`
文章列表
  以前一些没有注意到的问题都成为了性能瓶颈,通过设置一些TCP/IP选项能够解决一部分问题,当然根本的解决方法是重构代码,重新设计服务器框架。先列出几个TCP/IP选项:选项man 7 socket:SO_REUSEADDRSO_RECVBUF/SO_SNDBUFSO_KEEPALIVESO_LINGERman 7 tcp:TCP_CORKTCP_NODELAYTCP_DEFER_ACCEPTTCP_KEEPCNT/TCP_KEEPIDLE/TCP_KEEPINTVLSO_REUSEADDR在服务器程序中,SO_REUSEADDR socket选项通常在调用bind()之前被设
lsof简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。 lsof使用   lsof输出信息含义 ...
转自:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。这里贴一个对于“段错误”的准确定义(参考Answers.com): A segmentation fault (often shortened to segfault) is a particular error condition that can occur durin ...
转自:http://www.ibm.com/developerworks/cn/aix/library/au-multithreaded_structures2/#list15 本文是本系列的最后一篇,讨论两个主题:关于实现基于互斥锁的并发链表的设计方法和设计不使用互斥锁的并发数据结构。对于后一个主题,我选择实现一个并发堆栈并解释设计这种数据结构涉及的一些问题。用 C++ 设计独立于平台的不使用互斥锁的数据结构目前还不可行,所以我选用 GCC version 4.3.4 作为编译器并在代码中使用 GCC 特有的 __sync_* 函数。如果您是 WIndows® C++ 开发人员,可以考虑使 ...
checkpoint是程序在那一刻的快照,当我们发现错过了某个调试机会时,可以再次回到checkpoint保存的那个程序状态。   举例说明一下: #include <stdlib.h> #include <stdio.h> static int func() {     static int i = 0;     ++i;     if (i == 2) {
Global site tag (gtag.js) - Google Analytics