您的位置:首页 > 运维架构 > Linux

linux命令常用-每天增加

2012-04-06 14:43 344 查看
一:编程代码整理测试

1,indent

 indent可辨识C的原始代码文件,并加以格式化,以方便程序设计师阅读

#iindentfilename

2,PC-LINT 

PC-Lint是一个历史悠久,功能异常强劲的静态代码检测工具。它的使用历史可以追溯到计算 编程的远古时代(30多年以前)。经过这么多年的发展,它不但能够监测出很多语法逻辑上的隐患,而且也能够有效地帮你提出很多程序在空间利用、运行效率上的改进点,在很多专业级的软件公司,比如Microsoft, PC-Lint检查无错误无警告是代码首先要过的第一关,

二:


在linux中查看线程数的三种方法

1、top -H

手册中说:-H : Threads toggle

加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。

2、ps xH

手册中说:H Show threads as if they were processes

这样可以查看所有存在的线程。

3、ps -mp <PID>

手册中说:m Show threads after processes

这样可以查看一个进程起的线程数。
 4、prstat -a

5、ps -Lf <pid>

L显示LWP(轻量级进程)和NLWP(进程中包含的轻量级进程的个数)。

线程和进程:
(1)LWP是轻权进程的意识,这里你可以认为它就是CPU,用户空间的线程一旦获得了LWP,也就是说它获得了可执行能力,它可以随时被操作系统调度。
,用户空间的thread和内核空间的LWP并不是一对一的关系,而是N对M的关系,那么由那个线程获得LWP,这个调度的完成是由线程库来完成的,而不需要内核的参与,也就是这种方式的线程上下文切换比较快,并且很明显这种方式更节省内核资源,solaris根据一定的策略提供一个LWP池,供上面更多的线程分享,这种线程就是所说的unbound线程。
(2)用户空间的线程thread和LWP是one-to-one的对应关系,每一个线程都有一个永久的LWP为它服务,很明显这种方式的线程的实时调度性要好,但是这种线程的上下文切换需要KERNEL的参与,并且由于LWP本身是消耗操作系统资源的,因此这种方式要比上面的那种方式浪费资源,这种方式的线程就是所谓的bound线程。

(3)one-level:solaris上可选实现模型

可以通过设置
ulimit -s 来增加每进程线程数。 每进程可用线程数 = VIRT上限/stack size 其中 VIRT 上限: 32位x86 = 3G 64位x64=64G statck size 默认是 10240 因此在默认情况下 32位系统上单进程最多可以创建300个线程, 64系统在内存充足的情况下最多可以创建 6400 个线程。 在机器硬件固定的情况下,可以通过 ulimit -s 降低stack size 的设置值来获得更多的每进程线程数。

6,iotop 事实查看硬盘读写操作最多的程序

iotop,

安装

yum install iotop

使用方法和top差不多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux c