linux命令常用-每天增加
2012-04-06 14:43
344 查看
一:编程代码整理测试
1,indent
indent可辨识C的原始代码文件,并加以格式化,以方便程序设计师阅读
#iindentfilename
2,PC-LINT
PC-Lint是一个历史悠久,功能异常强劲的静态代码检测工具。它的使用历史可以追溯到计算 编程的远古时代(30多年以前)。经过这么多年的发展,它不但能够监测出很多语法逻辑上的隐患,而且也能够有效地帮你提出很多程序在空间利用、运行效率上的改进点,在很多专业级的软件公司,比如Microsoft, PC-Lint检查无错误无警告是代码首先要过的第一关,
二:
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差不多
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系列]Linux常用的命令
- linux常用命令(不定期增加)
- Linux_常用命令符每天积累
- Linux常用命令持续增加
- 每天一个常用linux命令(6)--rmdir
- Linux常用命令学习之路(每天都会更新)
- 每天学习一个LINUX命令:useradd /adduser 用户新增(add user 增加用户)
- 每天一个linux命令,包含最常用的几十个命令的详细使用,让您快速掌握Linux!
- linux常用的一些命令(不断增加中)
- 每天一个常用的linux命令(8)--cat
- 每天一个linux命令(61):vi命令 /企业常用的linux命令清单
- 每天10个Linux 常用命令(一)
- [每天学一点Linux系列]Linux常用的命令
- Linux常用命令——每天学习系列
- linux常用命令和软件搜集-每天添加
- 每天一个linux命令,包含最常用的几十个命令的详细使用,让您快速掌握Linux!
- 每天一条linux常用命令:du 命令常用方法
- 每天一个知识点linux(十三)VI常用命令
- 最近常用的linux命令 持续增加ing
- 每天一个知识点linux(十三)VI 常用命令 转