仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1482|回复: 10
打印 上一主题 下一主题

[其他Linux] 来一发Linux中怎样晓得谁在切换历程

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 10:55:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。
我们在做Linux服务器的时分常常会必要晓得谁在做历程切换,甚么缘故原由必要做历程切换。由于历程切换的价值很高,我给出一个LMbench测试出来的数字:
  ContextswitchingCtimesinmicrosecondsCsmallerisbetter
  ――――――――――――――――――――――――-
  HostOS2p/0K2p/16K2p/64K8p/16K8p/64K16p/16K16p/64K
  ctxswctxswctxswctxswctxswctxswctxsw
  ―――――――-――――――――――――-――-
  my174.cm4Linux2.6.18-6.11007.02006.11008.74007.72008.960009.62000
  在我的很高真个服务器上,历程切换的开支在8us摆布,这个相对高功能的服务器是不成承受的,以是我们要在一个工夫片内尽量的多办事情,而不是把工夫华侈在无谓的切换上。
  猎奇害逝世猫,我们来查询拜访下谁在切换我们的历程:
  viewsourceprint?[root@my174admin]#dstat1
  ----total-cpu-usage-----dsk/total--net/total----paging-----system--
  usrsysidlwaihiqsiq|readwrit|recvsend|inout|intcsw
  00100000|00|796B1488B|00|1004128
  00100000|00|280B728B|00|1005114
  00100000|00|280B728B|00|1005128
  00100000|00|280B728B|00|1005114
  00100000|0320k|280B728B|00|1008143
  ...
  我们能够看到csw的数量是120/S,可是dstat大概vmstat相似的工具并没有告知我们谁在干好事。好吧!我们本人下手行吧。
  祭出我们心爱的systemtap!
  viewsourceprint?[root@my174admin]#cat>cswmon.stp
  #!/usr/bin/envstap
  #
  #
  globalcsw_count
  globalidle_count
  probescheduler.cpu_off{
  csw_count[task_prev,task_next]++
  idle_count+=idle
  }
  functionfmt_task(task_prev,task_next)
  {
  returnsprintf("%s(%d)->%s(%d)",
  task_execname(task_prev),
  task_pid(task_prev),
  task_execname(task_next),
  task_pid(task_next))
  }
  functionprint_cswtop(){
  printf("%45s%10s
","Contextswitch","COUNT")
  foreach([task_prev,task_next]incsw_count-limit20){
  printf("%45s%10d
",fmt_task(task_prev,task_next),csw_count[task_prev,task_next])
  }
  printf("%45s%10d
","idle",idle_count)
  deletecsw_count
  deleteidle_count
  }
  probetimer.s({GetProperty(Content)}){
  print_cswtop()
  printf("----------------------------------------------------
12下一页


要明白学好linux不是一件一蹴而就的事,一定要能坚持使用它,特别是在使用初期。
分手快乐 该用户已被删除
沙发
 楼主| 发表于 2015-1-16 12:24:17 | 只看该作者

来一发Linux中怎样晓得谁在切换历程

虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行。
----------\n")</P>  }
  CTRL+D
  这个剧本会每隔设定的工夫打印出TOP20切换最多的历程和他的pid,我们来看下了局把:
  viewsourceprint?[root@my174admin]#stapcswmon.stp5
  ContextswitchCOUNT
  swapper(0)->systemtap/11(908)500
  systemtap/11(908)->swapper(0)498
  swapper(0)->fct1-worker(2492)50
  fct1-worker(2492)->swapper(0)50
  swapper(0)->fct0-worker(2191)50
  fct0-worker(2191)->swapper(0)50
  swapper(0)->bond0(3432)50
  bond0(3432)->swapper(0)50
  stapio(879)->swapper(0)26
  swapper(0)->stapio(879)25
  stapio(879)->swapper(0)19
  swapper(0)->stapio(879)17
  swapper(0)->watchdog/9(31)5
  watchdog/9(31)->swapper(0)5
  swapper(0)->mysqld(18346)5
  mysqld(18346)->swapper(0)5
  swapper(0)->watchdog/13(43)5
  watchdog/13(43)->swapper(0)5
  swapper(0)->watchdog/14(46)5
  watchdog/14(46)->swapper(0)5
  idle859
  --------------------------------------------------------------
  ...
  我们能够看到历程从那里切换到那里,而且产生了几次,最初一行,我打印出来idle的次数,也就是说这时候候体系没啥事变做,就切换到idle(0)这个历程往歇息往了。
  经由过程下面的查询拜访,我们会很分明的懂得到我们体系的开支产生在那边,便利我们定位成绩

</p>
上一页12


Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-18 15:26:58 | 只看该作者
选择交流平台,如QQ群,网站论坛等。
精灵巫婆 该用户已被删除
地板
发表于 2015-1-27 09:39:54 | 只看该作者
随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。
莫相离 该用户已被删除
5#
发表于 2015-2-5 12:29:26 | 只看该作者
虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。
活着的死人 该用户已被删除
6#
发表于 2015-2-11 21:37:44 | 只看该作者
随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。
分手快乐 该用户已被删除
7#
 楼主| 发表于 2015-3-2 21:08:19 | 只看该作者
我想即使Linux高手也很难快速准确精练的回答你。
老尸 该用户已被删除
8#
发表于 2015-3-11 07:40:31 | 只看该作者
请问谁有Linux的学习心得的吗?简单的说说?
admin 该用户已被删除
9#
发表于 2015-3-18 04:27:39 | 只看该作者
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
透明 该用户已被删除
10#
发表于 2015-3-25 16:50:03 | 只看该作者
让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 21:08

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表