文章分类 -  OS

Linux Performance Tools To Troubleshoot Problems
摘要:转:http://www.cyberciti.biz/faq/linux-performance-tools-to-troubleshoot-problem/Q. I am new to Linux. What tools or commands are recommended to troubleshoot performance related problems?A. Following are the basic or essential tools that every Linux or UNIX system admin should be aware of:a) topb) sar 阅读全文

posted @ 2013-06-04 10:36 Bo.Zhang 阅读(158) 评论(0) 推荐(0)

False sharing问题及其解决方法
摘要:转载:http://webcache.googleusercontent.com/search?hl=zh-CN&newwindow=1&safe=strict&gbv=2&q=cache:-kZ77hm9shsJ:http://blog.yufeng.info/archives/tag/align+typedef+union+align&ct=clnk在做多线程程序的时候,为了避免使用锁,我们通常会采用这样的数据结构:根据线程的数目,安排一个数组, 每个线程一个项,互相不冲突. 从逻辑上看这样的设计无懈可击,但是实践的过程我们会发现这样并没有提高速度. 阅读全文

posted @ 2013-06-04 10:36 Bo.Zhang 阅读(285) 评论(0) 推荐(0)

跨越边界: 延迟绑定
摘要:转载:http://www.ibm.com/developerworks/cn/java/j-cb11076.html几年前,我有幸教我的大女儿学滑雪。滑雪学校提供的工具里有一条绳子,用这条绳把雪橇的尖端绑在一起。利用这根绳,初学滑雪的人能够轻易地实现较为理想的滑雪动作,如转弯、减速和停止。最初,这些滑雪者十分依赖于这条绳子。我女儿还发誓说她离开这条绳就不滑雪。当然,她这样说是因为她刚刚开始学所以对整个过程不了解。这没关系。因为我知道将来她最终会在滑雪时迫使自己冲破这一束缚。关于本系列当今,非 Java 框架正在影响着 Java 框架的构建方式。您从其他语言学到的概念可以影响 Java 编程, 阅读全文

posted @ 2013-06-04 10:35 Bo.Zhang 阅读(193) 评论(0) 推荐(0)

Linux下谁在切换我们的进程
摘要:转载:http://blog.yufeng.info/archives/tag/csw我们在做Linux服务器的时候经常会需要知道谁在做进程切换,什么原因需要做进程切换。 因为进程切换的代价很高,我给出一个LMbench测试出来的数字:Context switching – times in microseconds – smaller is better————————————————————————-Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64Kctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctx 阅读全文

posted @ 2013-06-04 10:34 Bo.Zhang 阅读(263) 评论(0) 推荐(0)

fork两次如何避免僵尸进程收藏
摘要:转载:http://blog.csdn.net/eroswang/archive/2008/11/19/3333617.aspx#include<stdio.h>#include<sys/wait.h>#include<sys/types.h>#include<unistd.h>intmain(void){pid_tpid;if((pid=fork())<0){fprintf(stderr,"Forkerror!/n");exit(-1);}elseif(pid==0)/*firstchild*/{if((pid=for 阅读全文

posted @ 2013-06-04 10:34 Bo.Zhang 阅读(371) 评论(0) 推荐(0)

虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩
摘要:转载:http://rednaxelafx.iteye.com/blog/492667大前天收到一条PM:引用你好,很冒昧的向你发短消 息,我现在在看JS引擎,能过看博客发现你对js engine很了解,我想请教一下你 基于栈的解析器与基于寄存器的解析器有什么同,javascriptcore是基于寄存器的,V8是基于栈的,能不能说一下这两者有什么一样吗?能推荐一 点资料吗?谢谢。我刚收到的时候很兴奋,就开始写回复。写啊写发觉已经比我平时发的帖还要长了,想着干脆把回复直接发出来好了。于是下面就是回复:你好 ^ ^ 很抱歉拖了这么久才回复。码字和画图太耗时间了。别说冒昧了,我只是个普通的刚毕业的学 阅读全文

posted @ 2013-06-04 10:34 Bo.Zhang 阅读(1187) 评论(0) 推荐(0)

Linux运行监控与调优介绍参数(翻译主要内容)(经典)
摘要:转载:http://hi.baidu.com/springwu/blog/item/267ec345cd9d4628879473ce.html1、CPU2、内存3、I/O4、网络1、CPU 应该理解CPU运行的主要参数:上下文切换,运行队列、CPU利用率与平均负载(1)上下文切换: 1)CPU指令从一个进程(线程)到另一个进程,称为上下文切换。 2)当一个进程发生切换时,在内存中存储CPU当前状态。 3)Kernel也能获取在内存中存储在上一个进程的状态并载入CPU 4)上下文切换对多任务处理的CPU来说是非常重要的 5)然而,很高的切换数量会引起性能问题(2)运行队列(run Q... 阅读全文

posted @ 2013-06-04 10:33 Bo.Zhang 阅读(210) 评论(0) 推荐(0)

轻量级线程和erlang
摘要:转载:http://home.51.com/cpunion/diary/item/10011940.html线程通常用来执行并行计算,为大量阻塞操作增加并发度。在线程数大于CPU数时,线程会有额外的调度开销,所以线程数太多反而会使计算性能下降。计算机执行计算任务时,通常还需要与各种IO设备交互,这些设备和CPU、内存比起来慢几个数量级,一些任务还需要串行地使用这些设备,这时候使用多线程就可以有效利用这些设备资源。除了创建大量线程以外,还可以使用异步IO来完成同样的功能。异步IO原理上很简单,用户线程某一刻发起一个请求(对于IO来说通常只有读和写2种),在IO设备准备好的时候会回调用户指定的过程 阅读全文

posted @ 2013-06-04 10:30 Bo.Zhang 阅读(187) 评论(0) 推荐(0)

ulimit问题及其影响
摘要:转:http://blog.yufeng.info/archives/1380ulimit最初设计是用来限制进程对资源的使用情况的,因为早期的系统系统资源包括内存,CPU都是非常有限的,系统要保持公平,就要限制大家的使用,以达到一个相对公平的环境。以下是典型的机器默认的限制情况:$ ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size (blocks, -f) unlimitedpending signals (-i) 20480 阅读全文

posted @ 2013-06-04 10:29 Bo.Zhang 阅读(469) 评论(0) 推荐(0)

Linux进程间通信分类 以及 pipe的原理实现
摘要:转载:http://blog.csdn.net/sunmenggmail/article/details/7888746一个大型的应用系统,往往需要众多进程协作,进程(Linux进程概念见附1)间通信的重要性显而易见。本系列文章阐述了Linux环境下的几种主要进程间通信手段,并针对每个通信手段关键技术环节给出详细实例。为达到阐明问题的目的,本文还对某些通信手段的内部实现机制进行了分析。序linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及 BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面 阅读全文

posted @ 2013-06-03 10:30 Bo.Zhang 阅读(226) 评论(0) 推荐(0)

Linux环境进程间通信 ——无名管道工作机制研究
摘要:一、引言 Linux作为一个开源的操作系统,是我们进行操作系统和提高编程水平的最佳途径之一。 好的程序如同好的音乐一样,完成的完美、巧妙。开放源码的程序都是经过无数人检验地,本文将以linux-kernel-2.6.5为例对pipe的工作机制进行阐述。二、进程间通信的分类 大型程序大多会涉及到某种形式的进程间通信,一个较大型的应用程序设计成可以相互通信的“碎片”,从而就把一个任务分到多个进程中去。进程间通信的方法有三种方式: 管道(pipe) 套接字(socket) System v IPC 机制管 道机制在UNIX开发的早期就已经提供了,它在本机上的两个进程间的数据传递表现的相当出色;套接字 阅读全文

posted @ 2013-06-03 10:29 Bo.Zhang 阅读(210) 评论(0) 推荐(0)

深入理解PIPE
摘要:转载:http://blog.ddup.us/?p=285在linux中要进行进程间通信有多种方法:pipe、fifo、共享内存,信号量,消息队列,共享文件等等。其中pipe和fifo 使用最广泛,二者的区别为pipe为匿名管道,只能用在有父子关系的进程间通信,而fifo可以通过文件系统中的一个文件取得,所以不受上述限制。作为父子进程间通信的通道,pipe同样可以看作是一个先进先出的队列。PIPE基本用法pipe的使用很简单,原型如下:[c]view plaincopy<spanstyle="color:#339933">#include<unistd.h 阅读全文

posted @ 2013-06-03 10:24 Bo.Zhang 阅读(1381) 评论(0) 推荐(0)

Linux TCP 连接数修改
摘要:转:http://zbszone.iteye.com/admin/blogs/826199LinuxTCP连接数修改一、文件数限制修改(1)vi/etc/security/limits.conf*soft nofile 10240*hard nofile 10240(2) vi/etc/pam.d/loginsession required /lib/security/pam_limits.so二、网络端口限制修改(1) vi /etc/rc.d/rc.local/sbin/modprobe ip_conntrack#加载ip_contrack模块# /sbin/sysctl –p# 使/et 阅读全文

posted @ 2013-06-03 09:15 Bo.Zhang 阅读(221) 评论(0) 推荐(0)