分享页面
首页  >  

#

  • Centos系统上下文切换的检查思路
    2021-07-26

     

    1.什么是上下文切换(Context Switch)?

    上下文切换,有时也称做进程切换或任务切换,是指CPU从一个进程或线程切换到另一个进程或线程。

    操作系统可以同时运行多个进程, 然而一颗CPU同时只能执行一项任务,操作系统利用时间片轮转的方式,让用户感觉这些任务正在同时进行。 CPU给每个任务都服务一定的时间, 然后把当前任务的状态保存下来, 在加载下一任务的状态后, 继续服务下一任务。任务的状态保存及再加载, 这段过程就叫做上下文切换。

    当一个进程在执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容被称 为该进程的上下文。当内核需要切换到另一个进程时,它需要保存当前进程的 所有状态,即保存当前进程的上下文,以便在再次执行该进程时,能够必得到切换时的状态执行下去。在LINUX中,当前进程上下文均保存在进程的任务数据结 构中。在发生中断时,内核就在被中断进程的上下文中,在内核态下执行中断服务例程。但同时会保留所有需要用到的资源,以便中继服务结束时能恢复被中断进程 的执行。

     

    2.上下文切换的消耗?

    直接消耗包括: CPU寄存器需要保存和加载,系统调度器的代码需要执行,TLB实例需要重新加载,CPU pipeline需要刷掉。

    间接消耗:多核的cache之间得共享数据,间接消耗对于程序的影响要看线程工作区操作数据的大小。

    上下文切换通常是计算密集型的。也就是说,它需要相当可观的处理器时间,在每秒几十上百次的切换中,每次切换都需要纳秒量级的时间。所以,上下文切换对系统来说意味着消耗大量的 CPU 时间,事实上,可能是操作系统中时间消耗最大的操作。

     

    3.如何检查上下文切换是否频繁?

    1)确认CPU使用率

    CPU是否处于空闲状态。

    2vmstat 1

    vmstat的输出可以看到,io项的block_inblock_out是否频繁,system项的每秒中断数(in)和每秒的上下文切换(cs)是否频繁。

    3

    pidstat -w 1

    pidstat上可以看到,每个进程对应的cswch(自愿上下文切换)和nvcswch(非自愿上下文切换)是否频繁。

    cswch/s: 每秒任务主动(自愿的)切换上下文的次数,当某一任务处于阻塞等待时,将主动让出自己的CPU资源。
    nvcswch/s:
    每秒任务被动(不自愿的)切换上下文的次数,CPU分配给某一任务的时间片已经用完,因此将强迫该进程让出CPU的执行权。

    4/proc/stat

    /proc/stat包含了CPU的活动信息,上下文切换就是其中一项,以ctxt开头,它表示系统开机到目前为止的上下文切换总数。
    
    cat /proc/stat | grep ctxt && sleep 30 && cat /proc/stat | grep ctxt

    通过上面的命令,可以计算出每秒上下文切换次数=两者差值/30

    通过以上命令即可以定位那个进程上下文切换频繁。

     

    4.造成上下文切换频繁的原因?

    当前执行任务的时间片用完之后, 系统CPU正常调度下一个任务

    当前执行任务碰到IO阻塞, 调度器将挂起此任务, 继续下一任务

    多个任务抢占锁资源, 当前任务没有抢到,被调度器挂起, 继续下一任务

    用户代码挂起当前任务, 让出CPU时间

    硬件中断

  • 使用组策略消除Windows7中的搜索记录
    2024-02-20

    第一步,开始 - 运行(输入`gpedit.msc`)- 确定,打开本地组策略编辑器。 ![img](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2024-02-20/172458e5b3b59.jpg) 第二步,在本地组策略编辑器中,点击用户配置>管理器模板>Windows组件>Windows资源管理器。 ![img](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2024-02-20/172458f3b7470.jpg) 第三步,右边找到在Windows资源管理器搜索框中关闭最近搜索条目的显示,编辑策略设置>启用>确认即可。 ![img](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2024-02-20/172458a4d8fd6.jpg)

  • 解决Windows7系统提示boot.ini文件找不到的问题
    2023-08-17

    1.使用快捷键`win+R`打开运行窗口输入`cmd`然后回车确认。 ![img](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2023-08-17/112624357bf4c.jpeg) 2.输入`bcdedit`查看配置信息。 ![img](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2023-08-17/112626a99aed6.jpeg) 3.然后把配置信息中的timeout 中的30修改为1输入`BCDEDIT /set {bootmgr} timeout 1` 来配置停留时间,前面的1就是时间值,单位为秒,然后在输入`bcdedit`查看是否修改完成。 ![img](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2023-08-17/11262186888e5.jpg) 4.修改后就不会再提示boot.ini文件找不到的问题了。

  • 如何快速让新加入的设备成为DR
    2021-08-03

     

    拓扑如下图所示:

    开启R1R2SW1,并运行OSPF,根据选举规则R2将成为DRR1成为BDR

    然后将R3启动并运行OSPF,查看DRBDR

    发现R3加入后,DRBDR没有变动,验证了DRBDR选举的非抢占性,当网络中有DR存在时,即使有优先级高的,Router-ID大的路由器加入网络也不会进行重新选举。

    如果要让R3成为DR,可进行下述操作:

    方法1:重启现在为DRR2OSPF进程,触发重新选举

    <R2>reset ospf 1 process

    R3BDR->DR,而且也把Router-ID第二大的R2选为了BDR

    方法2:把R1R2的优先级设置为0(不参与选举)

    我们先让R3恢复DRother身份

    [R3-GigabitEthernet0/0/0]shutdown

    shutdown后等40s路由器失效再undo shutdown

    [R3-GigabitEthernet0/0/0]undo shutdown

    这样又让R2成为了DRR1成为了BDR

    [R1-GigabitEthernet0/0/0]ospf dr-priority 0

    [R2-GigabitEthernet0/0/0]ospf dr-priority 0

    R1R2OSPFdr都优先级置为0(不再参与选举)

    触发两次选举,R3Drother->BDR->DR

    由于R1R2都不参与选举,此时网络中只有DR没有BDR

    R2优先级调为1,让R2成为BDR

  • Windows 2008 R2如何解决ARP病毒
    2021-07-20

     

    严格来说ARP病毒并不是病毒,是一种利用arp协议漏洞进行传播病毒的总称,目前在局域网中较为常见,可以监听局域网中未加密的信息,而目前企业局域网数据加密传输的非常少,因此arp病毒的危害是十分巨大的,那么如何解决arp病毒呢?本文介绍Windows 2008 R2 如何解决ARP病毒。

     

    1.在电脑桌面下方任务栏上点击右键,在弹出的菜单中点击启动任务管理器。

    2.在进程中找下有没有名称为 MIR0的进程,如果有,说明已经中了ARP病毒,在其上方点击右键,在弹出的菜单中点击结束进程。

    3.结束进程之后还需要在本机绑定IPMAC才行,在电脑桌面使用快捷键WIN R唤出运行窗口,在搜索框中输入cmd,点击确定。

    4.在打开的cmd窗口中输入ipconfig /all,然后点击回车键,记录下本机的IP地址和MAC物理地址。

    5.再次输入arp -d清空当前arp中的缓存内容,由于arp攻击还在继续,所以电脑只能恢复一下然后又无法上网了。

    6.最后输入arp -s IP地址 MAC地址,点击回车键,这时候就会在本机绑定IP地址与MAC地址,断网即会恢复。

  • Windows10系统”initpki.dll“模块加载失败的解决方法
    2022-10-18

    1.Win+R键打开运行,输入命令“regedit”,打开注册表编辑器。

    2.依次进入HKEY_LOCAL_MACHINE->SOFTWARE->Classes,右键“Classes”打开“权限”。

    3.在弹出来的权限窗口中,点击“添加”,添加everyone用户,并给与权限并应用。

  • Java8添加例外站点解决无法打开kvm界面程序的问题
    2021-07-27

     

    1.首先,我们点击控制面板,打开控制面板

    2.进入控制面板后,我们打开程序

     

     

    3.点击java

    4.如图点击web设置-例外站点列表-点击添加。

     

    5.在弹出框中输入打开kvm界面程序的ipmi,注意分两种情况分别是httphttps

    添加完毕,点击应用-确定。

  • Windows10下通过cmd查看文件md5信息
    2023-11-20

    1.通过certutil 命令查看文件的md5信息 certutil -hashfile <文件> md5 certutil -hashfile tips.txt md5 ![img](https://public-1251015552.cos.ap-guangzhou.myqcloud.com/Uploads/image/2023-11-20/1623328f42e4b.jpg)

  • 如何设置Windows10系统的默认浏览器
    2021-07-10

    通常电脑上会有多个浏览器,有时用户需要设置默认浏览器,如何设置?本文将针对此问题进行详细说明。

     

    1.点击桌面左下角win窗口按钮选择设置选项

    2.在设置界面选择“应用”。

    3.在左侧选择“默认应用”,在右侧下拉找到“web默认程序”,点击目前的浏览器。

    4.在打开的菜单中选择点击你要的默认浏览器。

    5.这样就修改成功了。

     

  • CPU硅脂的正确涂法
    2021-07-26

     

    1.我们就先来认识一些散热硅脂,我们看看散热硅脂的名词解释:

    俗名又叫散热膏,是以特种硅油做基础油,新型金属氧化物做填料,配以多种功能添加剂,经特定的工艺加工而成的膏状物.颜色因材料不同而具有不同的外观。

      

    其具有良好的导热、耐温、绝缘性能,是耐热器件理想的介质材料,而且性能稳定,在使用中不会产生腐蚀气体,不会对所接触的金属产生影响。

     

    涂抹于功率器件和散热器装配面,帮助消除接触面的空气间隙增大热流通,减小热阻,降低功率器件的工作温度,提高可靠性和延长使用寿命。

     

    就像名词解释中所说的散热硅脂起到加速热传导的作用,导热介质,增加接触面积填充CPU铁盖以及散热器中间的坑槽等作用。散热硅脂也并非一涂上就发挥最好的效果,涂上散热硅脂,在经过一段时间的启动,关机的冷热循环后,济压出散热硅脂中的多余空气达到完全填充CPU和散热器之间的空隙时,导热效果才真正完全发挥。散热硅脂的热阻是比金属的大 ,故并非用量大就一定好。

     

     

    2.什么硅脂更好

     

    最科学的方式还是看产品标注的导热率(单位是W/m·K)当然是数值越高越好,大家选择34.5W/m.K就可以了。此外要重点注意热阻抗这一指标,一定要低于0.08℃·in²/W。如果看不到这两个参数,那么商家吹得再好也不要买!

    3.涂抹散热硅脂的注意事项

    相信有很多入门级玩家会说为什么要涂薄,散热器里带的散热硅脂给一小管不用完了多可惜。散热器中带的散热硅脂确实有的很多,这样往往会给入门级的DIY玩家带来一定的误导,从导热性能上来讲,再好的散热硅脂也比不过铜铝这些金属材料。铜的导热系数是高档导热散热硅脂的百倍左右。

    散热硅脂适量是一个很重要的事情,主要注意的就是涂抹散热硅脂在于要均匀、无气泡、无杂质、尽可能薄。

     

    4.常见情况扇热硅脂的涂抹教程

    了解了散热硅脂的这些特性后,散热硅脂涂多涂少,涂厚涂薄,如何涂才能达到最好的效果呢。这是一个外国著名网站Benchmark Reviews推出的散热硅脂涂抹攻略,下面跟大家分享下。

     

    中间一点式涂抹教程:

     

    一字法涂抹教程:

     

    二字法涂抹教程:

     

    十字法涂抹教程:

    以上4种为点法、一字法、二字法、十字法,分别适用于小型底座、长形底座、大型方形底座和大型方形底座(虽然示例用的都是同一款散热器)

     

    但是无论怎么涂抹,最终的结果都是如下样子就对了:

热门标签

4008765417
扫码关注公众号