![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 69
kofshower
这个作者很懒,什么都没留下…
展开
-
显示进程所对应的执行CPU
ps命令的输出格式可以通过-o参数定制:# ps -eo pid,args,psr参数的含义:pid - 进程IDargs - 该进程执行时传入的命令行参数psr - 分配给进程的CPU原创 2010-02-03 10:51:00 · 455 阅读 · 1 评论 -
Linux内存管理
我的实验结论:#include#include#includeint bss_var;int data_var0=1;int main(int argc,char **argv){ printf("below are addresses of types of process's mem\n"); printf("Text location:\n"); printf("\t转载 2011-12-14 10:33:59 · 3621 阅读 · 0 评论 -
Malloc(),Calloc(),Realloc(),Free()系列内存分配机制
brk, sbrk, mmap, munmap 可执行程序首先被操作系统从磁盘中拷贝到内存中,还要为其对应的进程分配地址空间,这也体现了该进程对应的内存程序映像。这三者的组织及对应关系如下:磁盘:可执行文件段 内存:内存程序映像 进程:进程地址空间对应关系:内存程序映像进程地址空间可执行文件段code(text)code(te原创 2011-12-14 12:04:27 · 669 阅读 · 0 评论 -
CAS与原子操作分析
1.Compare-and-swap概述 在计算机科学里,compare-and-swap CPU指令(CAS)(或者x86和Itanium体系结构里的Compare-and-exchange CMPXCHG指令)是一种特殊的指令。它做以下原子操作:把内存中某一地址中的值与一个指定的值作比较,如果他们相同,把内存中该地址的内容修改为新的值。该操作的结果显示它是否执行了替换。该指令的一个变种叫c原创 2011-12-15 14:47:12 · 119 阅读 · 0 评论 -
Linux 锁的调研
pthread_spin 自旋锁自旋锁介绍 一个典型的自旋锁的流程是但发现锁已经被其他线程持有的时候,这个进程会一直进行循环->旋转->等待锁被重新可用,如果锁没有被征用,则可以继续执行。 自旋锁的初衷是如果应用的时间很短,可以在短时间内进行轻量级的锁定,不需要进行系统的上下文切换(适用于多核情况,单核情况下关中断就可以,不需要自旋锁),但自旋锁等待的时候whil原创 2011-12-15 14:42:59 · 1115 阅读 · 0 评论 -
性能查看命令
案例描述分析需求在性能测试过程中我们除了关心程序运行的是否正常外,同时还要关注程序的资源消耗情况,包括CPU、内存、句柄、网络流量和IO等,分享一些命令供大家参考检测程序运行是否正常和瓶颈、性能是否需要进一步优化等,希望他们能对大家在性能测试中准确分析程序的异常和调优有一定的帮助。命令部分:mpstat能查看所有CPU的平均信息,还能查看指定CPU的原创 2012-01-18 13:40:38 · 1492 阅读 · 0 评论 -
系统栈内存分析和监控
查看系统栈空间大小ulimit -s 或者 ulimit -a | egrep '^stack size'栈空间溢出的原因栈空间溢出的错误一般多发生在程序循环和多层嵌套较多时。linux的栈、堆等内存模型http://www.alixixi.com/ePrint.asp?from=dev&id=36091其它参考资料1.cat /pr原创 2012-01-18 13:35:48 · 963 阅读 · 0 评论 -
Linux dirty page回写时机
1 定时方式: 定时回写是基于这样的原则:/proc/sys/vm/dirty_writeback_centisecs的值表示多长时间会启动回写线程,由这个定时器启动的回写线程只回写在内存中为dirty时间超过(/proc/sys/vm/didirty_expire_centisecs / 100)秒的页(这个值默认是3000,也就是30秒),一般情况下dirty_writeback_centis原创 2012-03-15 17:34:15 · 1430 阅读 · 0 评论 -
pdflush的工作原理
大家知道,在linux操作系统中,写操作是异步的,即写操作返回的时候数据并没有真正写到磁盘上,而是先写到了系统cache里,随后由pdflush内核线程将系统中的脏页写到磁盘上,在下面几种情况下,系统会唤醒pdflush回写脏页:1 、定时方式: 定时机制定时唤醒pdflush内核线程,周期为/proc/sys/vm/dirty_writeback_centisecs ,单原创 2012-03-15 17:26:44 · 2907 阅读 · 1 评论 -
Linux进程同步
目录Linux进程同步调研...1背景...1Futex.1进/线程利用futex同步...2性能对比...3参考文档...5 背景超级负载均衡需要在线程/进程之前共享数据,这些数据需要支持多写多读,因此需要考虑同步。 本文调研了linux下的mutex与semaphone。 目前线上2.6.原创 2012-04-05 15:19:13 · 3823 阅读 · 1 评论 -
__asm__("pause")用法
static inline int // return old valueatomic_add(volatile int *count, int add){#ifdef __linux__ __asm__ __volatile__( "lock xadd %0, (%1);" : "=a"(add) : "r"(count), "a"(add) : "memory"原创 2012-04-06 15:48:16 · 2969 阅读 · 0 评论 -
Linux iostat监测IO状态xx
Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。1. 基本使用$iostat -d -k 1 10参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。t转载 2011-11-23 15:47:41 · 312 阅读 · 0 评论 -
free 详解
bash-3.00$ freetotal used free shared buffers cachedMem: 1572988 1509260 63728 0 62800 277888-/+ buffers/cache: 1168572 404416Swap转载 2011-11-22 12:58:28 · 318 阅读 · 0 评论 -
vim macro record
High Level Steps to Record and Play inside VimStart recording by pressing q, followed by a lower case character to name the macroPerform any typical editing, actions inside Vim editor, which w转载 2010-04-15 14:13:00 · 1521 阅读 · 0 评论 -
pmap manpage
The pmap(1) utility will show, for each mapping of a given process, the starting byte address in the processs address space, the size, the RSS (size of the mapping in physical memory),原创 2010-04-29 10:55:00 · 307 阅读 · 0 评论 -
Gentoo包管理(portage)
<br />這篇主要是講如何使用Gentoo的portage system<br /><br />先講什麼是system什麼是world<br /><br />一般來講,你把stage3 tar開的東西就是system。<br />後來裝的軟體全部都是world。<br />想看world裡面有什麼可以去看/var/lib/portage/world<br /><br />1.安裝一個軟體代碼: 選擇全部emerge mutt<br /><br /><br />2.裝之前转载 2010-06-15 21:58:00 · 1448 阅读 · 0 评论 -
好久没有用rpm作为包管理了,好记性不如烂笔头
误删了一些文件, 但您不能肯定到底都删除了那些文件rpm -Va<br /> 碰到了一个自己不认识的文件,要想查处它属于哪个软件包rpm -qf /usr/X11R6/bin/xjewel<br /> 文件/usr/bin/paste出了问题。您想知道哪个软件包中包含该文件rpm -Vf /usr/bin/paste<br /> 如果您想了解正在使用的程序的详细信息, 您可以键入如下命令来获得软件包中关于该程序的文档信息rpm -qdf /usr/bin/ispell<br /> 安装RPM包rpm -iv原创 2010-11-08 15:19:00 · 409 阅读 · 0 评论 -
Linux内存管理
Overview of memory management<br />Traditional Unix tools like 'top' often report a surprisingly small amount of free memory after a system has been running for a while. For instance, after about 3 hours of uptime, the machine I'm writing this on rep翻译 2011-03-31 17:28:00 · 566 阅读 · 0 评论 -
数据中心TCP优化:同时满足低时延和高吞吐量
大的数据中心有成千上万台服务器,服务器之间大都用TCP来协作并传输数据,最终为用户提供服务。那数据中心的TCP工作得如何呢? 斯坦福大学和微软的两人对Bing服务的6000多台服务器集群在TCP方面的数据进行研究,用的数据是一个月的日志,包括应用、套接字级别和包级别的日志,压缩完后大概是150T的数据。老外真是牛!一、发现的问题1、突发的丢包现象2、部分包传输时延大,90%的传输RTT值小于1毫秒转载 2011-06-14 09:47:00 · 1262 阅读 · 0 评论 -
Linux服务器性能评估与优化
从google reader订阅到的,不错的文章=================================================================================================一、影响Linux服务器性能的因素 1转载 2011-07-07 10:14:03 · 342 阅读 · 0 评论 -
Linux虚拟内存实现原理
下面是一篇翻译文章,原文出自MongoDB的核心开发工程师 Kristina Chodorow 的个人博客,由NoSQLFan翻译整理。我们都知道,MongoDB 使用内存映射的方式来进行数据文件的存取操作。本文的目的就在于描述操作系统虚拟内存的使用及内存映射的内部实转载 2011-09-06 14:59:29 · 486 阅读 · 0 评论 -
gcc中-pthread和-lpthread的区别
转自http://chaoslawful.iteye.com/blog/568602用gcc编译使用了POSIX thread的程序时通常需要加额外的选项,以便使用thread-safe的库及头文件,一些老的书里说直接增加链接选项 -lpthread 就可以了,像这样:转载 2011-09-28 16:25:54 · 1584 阅读 · 0 评论 -
Linux动态库搜索路径
转载自:http://blog.microsuncn.com/?p=3177Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相转载 2011-10-10 15:19:43 · 355 阅读 · 0 评论 -
double-locked singleton (spinlock version)
static inline int // return old valueatomic_add(volatile int *count, int add){#ifdef __linux__ __asm__ __volatile__( "lock xadd %0, (%1);" : "=a"(add) : "r"(count), "a"(add) : "memory"原创 2012-04-06 20:30:17 · 638 阅读 · 0 评论