
Linux系统
文章平均质量分 58
liangkwok
2010年硕士毕业于东南大学计算机系,数据挖掘方向,先后在腾讯社交网络事业群、互动娱乐事业群担任后台开发工作,现任职拉手网,历任高级架构师、技术总监。在平台架构设计、架构优化,高海量并发、团队管理方面有丰富的经验
展开
-
在Linux下的进程资源的限制(struct rlimit)详解
在Linux系统中,Resouce limit指在一个进程的执行过程中,它所能得到的资源的限制,比如进程的core file的最大值,虚拟内存的最大值等。Resouce limit的大小可以直接影响进程的执行状况。其有两个最重要的概念:soft limit 和 hard limit。struct rlimit {rlim_t rlim_cur;rlim_t rlim_max;};soft limit是指内核所能支持的资源上限。比如对于RLIMIT_NOFILE(一个进程能打开的最大文件 数,内核默认是102转载 2011-05-11 22:21:00 · 9121 阅读 · 0 评论 -
UNIX IO---文件描述符
在C程序中,文件由文件指针或者文件描述符表示。ISO C的标准I/0库函数(fopen, fclose, fread, fwrite, fscanf, fprintf等)使用文件指针,UNIX的I/O函数(open, close, read, write, ioctl)使用文件描述符。下面重点来说下,文件描述符是如何工作的。 文件描述符相当于一个逻辑句柄,而open,close等函数则是将转载 2012-09-12 20:31:36 · 509 阅读 · 0 评论 -
linux 0号进程 1号进程 区别
系统允许一个进程创建新进程,新进程即为子进程,子进程还可以创建新的子进程,形成进程树结构模型。整个linux系统的所有进程也是一个树形结构。树根是系统自动构造的,即在内核态下执行的0号进程,它是所有进程的祖先。由0号进程创建1号进程(内核态),1号负责执行内核的部分初始化工作及进行系统配置,并创建若干个用于高速缓存和虚拟主存管理的内核线程。随后,1号进程调用execve()运行可执行程序init,转载 2012-09-12 20:34:04 · 620 阅读 · 0 评论 -
proc文件系统详解
Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。基于/proc文件系统如上所述的特殊性,其内的文件也常被称作虚拟文件,并具有一些独特的特点。转载 2012-09-25 17:58:34 · 720 阅读 · 0 评论 -
linux下动态库的升级方法
在替换so文件时,如果在不停程序的情况下,直接用 cp new.so old.so 的方式替换程序使用的动态库文件会导致正在运行中的程序崩溃。解决的办法是采用“rm+cp” 或“mv+cp” 来替代直接“cp” 的操作方法。linux系统的动态库有两种使用方法:运行时动态链接库,动态加载库并在程序控制之下使用。1、为什么在不停程序的情况下,直接用 cp 命令替换程序使用的 so 文件,转载 2013-01-15 10:50:14 · 2349 阅读 · 0 评论 -
TFS(Taobao FileSystem)
原文http://code.taobao.org/p/tfs/wiki/intro/简介TFS(Taobao !FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛转载 2013-02-25 09:44:17 · 605 阅读 · 0 评论 -
localtime_r在多线程环境下可能存在死锁
localtime_r是localtime的线程安全版本,在localtime的手册中描述如下:Attention: Do not use the ctime, localtime, gmtime, or asctime subroutine in a multithreaded environment. See the multithread alterna转载 2013-08-28 11:45:45 · 2958 阅读 · 0 评论 -
Perf -- Linux下的系统性能调优工具
Perf -- Linux下的系统性能调优工具http://www.ibm.com/developerworks/cn/linux/l-cn-perf1/?jumpfrom=wenwenweekly转载 2013-10-08 10:18:58 · 903 阅读 · 0 评论 -
TCP协议难点全景解析
【本文系外部转贴,原文地址:http://blog.youkuaiyun.com/dog250/article/details/6612496】本文的原始版本来自 http://blog.youkuaiyun.com/dog250/article/details/6612496在原始版本的基础上我加了一些详细说明和自己理解。 说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方转载 2013-11-27 09:13:12 · 2281 阅读 · 0 评论 -
LINUX共享内存使用常见陷阱与分析
LINUX共享内存使用常见陷阱与分析 所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接到”他们自己的地址空间里去。所有进程都能访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会即时被有访问转载 2014-03-17 19:10:37 · 769 阅读 · 0 评论 -
Linux文件系统十问
Linux文件系统十问--关于文件系统,你知道吗? 关于文件系统,相信大家都不陌生。身为攻城狮的我们几乎天天都会与之打交道,但是细深剖一下,其中又有多少是我们理解深度不够的呢。那么让我们一起来看一下下面这一组Linux文件系统相关的问题吧:1、机械磁盘随机读写时速度非常慢,操作系统是采用什么技巧来提高随机读写的性能的?2、touch一个新的空文件占用磁盘空间吗? 占用的话转载 2014-03-18 09:11:08 · 556 阅读 · 0 评论 -
linux后台开发常用调试工具
一、编译阶段nm 获取二进制文件包含的符号信息strings 获取二进制文件包含的字符串常量strip 去除二进制文件包含的符号readelf 显示目标文件详细信息objdump 尽可能反汇编出源代码addr2line 根据地址查找代码行二、转载 2012-05-07 14:37:13 · 3488 阅读 · 0 评论 -
linux高级工具命令(二)GDB
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功转载 2011-11-16 15:03:52 · 435 阅读 · 0 评论 -
linux高级工具命令(一)strace
strace命令用法 ldd命令行用法如下: ldd [--version] [-v|--verbose] [-d|--data-relocs] [-r|--function-relocs] [--help] FILE...各选项说明如下: (1) --version : 此选项用于打印出ldd的版本号. (转载 2012-04-20 10:41:37 · 973 阅读 · 0 评论 -
linux下如何查看多核负载情况
首先声明出处:sam的技术bloghttp://blog.sina.com.cn/samzhen19771. Linux下,如何看每个CPU的使用率:#top -d 1(此时会显示以1s的频率刷新系统负载显示,可以看到总的CPU的负载情况,以及占CPU最高的进程id,进程名字等信息)(切换按下数字1,则可以在显示多个CPU和总CPU中切换)之后按下数字1. 则显示多个CPU转载 2011-06-07 15:45:00 · 1198 阅读 · 0 评论 -
LINUX IPC梳理
linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的Bell LAB及BSD在进程间通信方面的侧重点有所不同。BELL对Unix早期的进程间通信方法进行系统的改进和扩充,形成“system V IPC”,通信进程局限在单个计算原创 2011-09-11 16:04:13 · 595 阅读 · 0 评论 -
epoll LT VS ET (ZZ)
EPOLL事件分发系统可以运转在两种模式下:Edge Triggered (ET)、Level Triggered (LT)。LT是缺省的工作方式,并且同时支持block和no-block socket;在这种做法中,内核告诉你一个文件描述符是否就绪了,然后你可以对这个就转载 2011-09-11 15:01:19 · 636 阅读 · 0 评论 -
对select和epoll的理解
我们目前的网络模型大都是epoll的,因为epoll模型会比select模型性能高很多, 尤其在大连接数的情况下,作为后台开发人员需要理解其中的原因。下面根据自己对select和epoll的理解写下这边文章,希望对大家有帮助,欢迎大家挑战:)select的特点:selec转载 2011-09-09 16:24:20 · 1332 阅读 · 0 评论 -
nslookup命令用法
nslookup命令用法nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。nslookup的用法相对来说还是蛮简单的,主要是下面的几个用法。1、直接查询 ¶这个可能大家用到最多,查询一个域名的A记录。转载 2011-08-20 11:45:18 · 422 阅读 · 0 评论 -
Linux中tty、pty、pts的概念区别
Linux中tty、pty、pts的概念区别基本概念:1> tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫转载 2011-08-21 10:46:04 · 408 阅读 · 0 评论 -
linux平台下server运维问题分析与定位
linux平台下server运维问题分析与定位 收藏 结合我工作中碰到的运维问题,总结一下linux下server常见的运维问题以及定位方式。这里的server主要指自主开发的逻辑server,web srv因为通常采用通用的架构所以问题比较少。 逻辑ser转载 2011-08-21 11:06:50 · 471 阅读 · 0 评论 -
Linux异步 I/O 大大提高应用程序的性能
学习何时以及如何使用 POSIX AIO API 级别: 中级M. Tim Jones (mtj@mtjones.com), 顾问工程师, Emulex2006 年 9 月 28 日Linux® 中最常用的输入/输出转载 2011-08-21 11:16:16 · 575 阅读 · 0 评论 -
linux下单进程可创建的最大连接数
查看各类资源限制:ulimit -alinux 连接数的限制: socket连接数和一个进程能打开的最大文件描述符数相等修改linux socket最大连接数有两种方法:1、使用命令:ulimit -n *** 把允许最大打开的描述符修改为***,只对当前终端打开的应用程序有效。 2、修改/etc/security/limits.conf在该文件中添加原创 2011-11-22 10:11:03 · 4760 阅读 · 0 评论 -
一个大量TIME_WAIT解决办法
下午由于某产品那边静态化出现问题,转为动态化。导致*.*.*.*上一个中转server出现大量的TIME_WAIT 连接状态,大概达到5万多次。这个server的访问量一大,基本上就不work了;处理方法记下: 修改内核配置参数,修改 /etc/sysctl.conf文件,增加如下3行。net.ipv4.tcp_syncookies = 1 (表示开启SYN Cookies。原创 2012-02-02 10:07:02 · 640 阅读 · 0 评论 -
c++多线程编程
http://blog.youkuaiyun.com/hitwengqi/article/details/8015646转载 2015-10-28 10:17:33 · 474 阅读 · 0 评论