返回顶部
首页 > 资讯 > 操作系统 >Linux服务器中谁在切换进程
  • 853
分享到

Linux服务器中谁在切换进程

2023-06-16 22:06:36 853人浏览 八月长安
摘要

这篇“linux服务器中谁在切换进程”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux服务器中谁在切换进程”文章吧。我

这篇“linux服务器中谁在切换进程”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux服务器中谁在切换进程”文章吧。

我们在做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 ctxsw——— ————- —— —— —— —— —— ——- ——-my174.cm4 Linux 2.6.18- 6.1100 7.0200 6.1100 8.7400 7.7200 8.96000 9.62000

在我的很高端的服务器上,进程切换的开销在8us左右, 这个相对于高性能的服务器是不可接受的, 所以我们要在一个时间片内尽可能的多做事情,而不是把时间浪费在无谓的切换上。

好奇害死猫,我们来调查下谁在切换我们的进程:

[root@my174 admin]# dstat 1—-total-cpu-usage—- -dsk/total- -net/total- —paging– —system–usr sys idl wai hiq siq| read writ| recv send| in out | int csw0 0 100 0 0 0| 0 0 | 796B 1488B| 0 0 |1004 1280 0 100 0 0 0| 0 0 | 280B 728B| 0 0 |1005 1140 0 100 0 0 0| 0 0 | 280B 728B| 0 0 |1005 1280 0 100 0 0 0| 0 0 | 280B 728B| 0 0 |1005 1140 0 100 0 0 0| 0 320k| 280B 728B| 0 0 |1008 143…

我们可以看到 csw的数目是 120/S, 但是dstat或者vmstat类似的工具并没有告诉我们谁在干坏事。好吧!我们自己动手行吧。

祭出我们可爱的systemtap!

[root@my174 admin]# cat >cswmon.stp#! /usr/bin/env stap## global csw_countglobal idle_count probe scheduler.cpu_off {csw_count[task_prev, task_next]++idle_count+=idle} function fmt_task(task_prev, task_next){return sprintf(“%s(%d)->%s(%d)”,task_execname(task_prev),task_pid(task_prev),task_execname(task_next),task_pid(task_next))} function print_cswtop () {printf (“%45s %10s\n”, “Context switch”, “COUNT”)foreach ([task_prev, task_next] in csw_count- limit 20) {printf(“%45s %10d\n”, fmt_task(task_prev, task_next), csw_count[task_prev, task_next])}printf(“%45s %10d\n”, “idle”, idle_count) delete csw_countdelete idle_count} probe timer.s($1) {print_cswtop ()printf(“————————————————————–\n”)}CTRL+D

这个脚本会每隔设定的时间打印出TOP 20切换最多的进程和他的pid, 我们来看下结果把:

[root@my174 admin]# stap cswmon.stp 5Context switch COUNTswapper(0)->systemtap/11(908) 500systemtap/11(908)->swapper(0) 498swapper(0)->fct1-worker(2492) 50fct1-worker(2492)->swapper(0) 50swapper(0)->fct0-worker(2191) 50fct0-worker(2191)->swapper(0) 50swapper(0)->bond0(3432) 50bond0(3432)->swapper(0) 50stapio(879)->swapper(0) 26swapper(0)->stapio(879) 25stapio(879)->swapper(0) 19swapper(0)->stapio(879) 17swapper(0)->watchdog/9(31) 5watchdog/9(31)->swapper(0) 5swapper(0)->mysqld(18346) 5Mysqld(18346)->swapper(0) 5swapper(0)->watchdog/13(43) 5watchdog/13(43)->swapper(0) 5swapper(0)->watchdog/14(46) 5watchdog/14(46)->swapper(0) 5idle 859————————————————————–…

我们可以看到进程从哪里切换到哪里,并且发生了多少次, ***一行,我打印出来idle的次数,也就是说这时候系统没啥事情做,就切换到idle(0)这个进程去休息去了。

通过上面的调查,我们会很清楚的了解到我们系统的开销发生在那里,方便我们定位问题。

以上就是关于“Linux服务器中谁在切换进程”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网操作系统频道。

--结束END--

本文标题: Linux服务器中谁在切换进程

本文链接: https://lsjlt.com/news/285467.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux服务器中谁在切换进程
    这篇“Linux服务器中谁在切换进程”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux服务器中谁在切换进程”文章吧。我...
    99+
    2023-06-16
  • Linux 进程管理中如何进行调度和进程切换
    这篇文章将为大家详细讲解有关Linux 进程管理中如何进行调度和进程切换,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是调度按照某种调度算法,从进程的ready队列中选择进程给CPU。为...
    99+
    2023-06-15
  • Linux系统下的进程切换过程
    本篇内容介绍了“Linux系统下的进程切换过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux内核下进程切换Linux切换并没有使用...
    99+
    2023-06-13
  • 【Linux】进程状态|优先级|进程切换|环境变量
    文章目录 1. 运行队列和运行状态2. 进程状态3. 两种特殊的进程僵尸进程孤儿进程 4. 进程优先级5. 进程切换进程特性进程切换 6. 环境变量的基本概念7. PATH环境变量8....
    99+
    2023-09-02
    linux 运维 服务器
  • 亚马逊切换服务器教程
    在手机上访问 Amazon 网站,找到切换到另一个域名的选项。在“更多”选项卡中,选择您想要切换的域名,并点击“站点”按钮。 如果您已经在亚马逊的服务器上创建了一个账户,并且域名是从原始域名切换过来的,您可以使用“管理您的域名”选项来更改...
    99+
    2023-10-27
    亚马逊 服务器 教程
  • 【Linux】关于进程的理解、状态、优先级和进程切换
    文章目录 📝一、操作系统进程1.运行队列2.运行状态 📝二、Linux进程状态📝三、两个特殊进程1.僵尸进程2.孤儿进程 ...
    99+
    2023-09-06
    linux 服务器 运维
  • MySQL如何在存储过程进行切换表
    MySQL如何在存储过程进行切换表,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。DELIMITER $$ DROP&nb...
    99+
    2024-04-02
  • Linux内核进程上下文切换怎么理解
    这篇文章主要讲解了“Linux内核进程上下文切换怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux内核进程上下文切换怎么理解”吧!1.进程上下文的概念进程上下文是进程执行活动全...
    99+
    2023-06-15
  • 如何在linux中切换php版本,注意是linux
    在Linux中切换PHP版本可以使用以下步骤: 安装多个PHP版本 在Linux中,可以使用不同的方式安装多个PHP版本,例如使用apt-get或yum安装不同的PHP版本。安装完成后,可以通过以下命令查看已安装的PHP版本: $ sudo...
    99+
    2023-09-06
    php linux apache
  • 阿里云切换服务器在哪找到
    request = StartInstanceRequest.StartInstanceRequest() request.set accept format('JSON')request.set InstanceIds([instance...
    99+
    2024-01-22
    阿里 服务器
  • 怎么在Linux中切换相同程序的不同版本
    这篇文章主要为大家展示了“怎么在Linux中切换相同程序的不同版本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在Linux中切换相同程序的不同版本”这篇文章吧。使用 update-alte...
    99+
    2023-06-16
  • 阿里云服务器切换地区教程
    阿里云服务器切换地区可能是因为网络连接出现问题或者服务器配置发生了变化。以下是一些教程以帮助您进行服务器切换和地区调整: 首先需要检查阿里云网络连接,确保网络连接正常且连接稳定。建议使用网线连接到路由器或防火墙来进行网络访问。 在切换区...
    99+
    2023-10-26
    阿里 服务器 地区
  • mysql如何切换服务器
    mysql中将从服务器切换为主服务器的方法首先,确保从服务器已经完成以下同步操作;stop slave io_thread show processlist从服务器完成同步后,执行命令停止从服务器slave服务;stop slave最后,从...
    99+
    2024-04-02
  • redis服务器怎么切换
    要切换 redis 服务器,需要依次执行以下步骤:停用当前服务器。安装新服务器并配置为使用相同的端口和配置。复制数据:使用 rdb 文件:保存数据并复制到新服务器加载。使用 aof 文件...
    99+
    2024-05-21
    redis
  • 【Linux】Linux进程的理解 --- 冯诺依曼体系、进程描述符、状态、优先级、切换…
    如果不改变自己,就别把跨年搞的和分水岭一样,记住你今年是什么吊样,明年就还会是什么吊样!!! 文章目录 一、冯诺依曼体系结构(硬件)二、操作系统(软件)1.操作系统是什么?2.如何理解管理(...
    99+
    2023-09-11
    linux 网络 运维 服务器
  • 阿里云服务器php版本切换教程
    阿里云服务器提供了多种版本的php支持,用户可以根据自己的需求选择合适的php版本。本文将详细介绍如何在阿里云服务器上进行php版本的切换。 一、php版本的选择阿里云服务器提供了多种版本的php支持,包括5.6,7.0,7.1,7.2,7...
    99+
    2023-11-23
    阿里 版本 服务器
  • 怎么在android中利用Activity进行横竖屏切换
    这篇文章给大家介绍怎么在android中利用Activity进行横竖屏切换,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。设置屏幕的方向简介值描述unspecified默认值。系统自动选择屏幕方向behind跟activ...
    99+
    2023-05-31
    activity android roi
  • 怎么在linux中利用update-alternatives切换java版本
    本篇文章给大家分享的是有关怎么在linux中利用update-alternatives切换java版本,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。sudo upda...
    99+
    2023-06-09
  • 如何在windows8中切换中英文输入法(中英文输入状态切换教程)
      1、Windows 8 系统中关于中英文输入状态切换,下图中输入法状态为中文;   2、使用 Shift 按键可以切换到英文模式。如下图所示:   3、如果想要更改切换键,可以对图中的“...
    99+
    2022-06-04
    中英文 输入法 状态
  • 亚马逊的服务器谁在生产
    1. 亚马逊的服务器生产背景 亚马逊是全球最大的电子商务和云计算公司之一,其云计算服务AWS(Amazon Web Services)是全球领先的云服务提供商。AWS提供了一系列的云计算服务,其中包括弹性计算、存储、数据库、人工智能、物联...
    99+
    2023-10-27
    亚马逊 谁在 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作