zoukankan      html  css  js  c++  java
  • linux系统信息查询及相关概念

    1.查看机器可以插几根内存条:
    /sbin/lspci  -v 或dmesg 或  dmidecode(需要root)
    2.查看机器有几块盘,是否做raid:
    blkid 或 fdisk -l 或 sfdisk -s
    3.查看cpu信息
    less /etc/cpuinfo 或 dmidecode 或 dmesg
    4.查看raid信息
    厂商提供的管理工具 或 less /proc/mdstat 或 dmesg
    5.查看IO占用最高的进程
    iotop 或  dstat -M topio -d -M topbio 或 打开系统IO监控,用dmesg查看,具体步骤:
    # sysctl vm.block_dump=1 or # echo 1 > /proc/sys/vm/block_dump
    然后就可以通过 dmesg 就可以观察到各个进程 IO 活动的状况了(dmesg -c):
    6.硬盘分区,分区格式化,分区挂载(/etc/fstab)
    硬盘分区:fdisk
    分区格式化:mkfs.xxx(mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev mkfs.msdos mkfs.vfat)
    挂载分区:[mkdir xxx]mount xxx
    7.cpu上下文切换:
            如果可运行的线程数大于CPU的数量,那么OS最终会强行换出正在执行的线程,从而使其他线程能够使用CPU。这会引起上下文切换,它会保存当前运行线程的执行上下文,并重建新调入线程的执行上下文。
           切换上下文是要付出代价的;线程的调度需要操控OS和JVM中共享的数据结构。你的程序与OS、JVM使用相同的CPU;CPU在JVM和OS的代码花费越多时间,意味着用于你的程序的时间就越少。但是JVM和OS活动的花费并不是切换上下文开销的唯一来源。当一个新的线程被换入后,它所需要的数据可能不在当前处理器本地的缓存中,所以切换上下文会引起缓存缺失的小恐慌,因此线程在第一次调度的时候会运行得稍慢一些。即使有很多其他正在等待的线程,调度程序也会为每一个可运行的线程分配一个最小执行时间的定额。就是因为这个原因:它分期偿付切换上下文的开销,获得更多不中断的执行时间,从整体上提高了吞吐量(以损失响应性为代价)。
    CPU-上下文切换,运行队列和使用率
    8.cache 和 buffer的区别:
    cache是高速缓存,用于CPU和内存之间的缓冲;
    buffer是I/O缓存,用于内存和硬盘的缓冲

    cache最初用于cpu cache, 主要原因是cpu 与memory, 由于cpu快,memory跟不上,且有些值使用次数多,所以放入

    cache中,主要目的是,重复使用, 并且一级二级物理cache速度快,

    buffer 主要用于disk 与 memory, 主要是保护硬盘或减少网络传输的次数(内存数据表现dataSet).当然也可以提高速度(不会立即写入硬盘或直接从硬盘中读出的数据马上显示),重复使用,最初最主要的目的是保护disk,

    asp.net的cache有outputcahe与数据cache, 主要目的是 重复使用,提高速度,outputcache主要存储Reader后的页,一般是多次使用同一个HTML,建议不要varybyparam,不要存多version,

    数据cache,如dataSet, dataTable, 等

    @page buffer="true", 使用buffer,让buffer满后再显示读出或写入,(c中文件输出也是如此,主要目的是保护硬盘), 也可以提高下次的访问速度.   在client browse端表现是: true是一次性显示,要么不显示, 中间等, false是一次显示一些,
    这在网络输出也是如此表现.
    对于文件访问c中默认采用的是buffer = true, 这与asp.net一样,
    相当于Response.write();中当buffer满后输出,以减少网络的传输次数

    <%@ OutputCache Duration="60" VaryByParam="none"%>, 是将asp.net生成的HTML缓存起来,在指定的时间内不需要重新生成html, control.ascx.也有组件缓存(htmlCach)。 dataSet也是如此。DataCache,

    cache和buffer都是缓冲区, 在翻译上,cache翻译成高速缓冲区要好一点(因为主要是为下次访问加速), buffer翻译成缓冲区好点。都是缓冲的作用,可目的有点不同,主要是理解,不需要太咬文嚼字.

    Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于

    CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期, Cache中保存

    着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调

    用,这样就减少了CPU的等待时间,提高了系统的效率。Cache又分为一级Cache(L1 Cache)

    和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,现

    在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。

      Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据

    的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据

    时,速度快的设备的操作进程不发生间断。

      Free中的buffer和cache:(它们都是占用内存):

      buffer : 作为buffer cache的内存,是块设备的读写缓冲区

      cache: 作为page cache的内存, 文件系统的cache

      如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被

    cache住,那么磁盘的读IO bi会非常小。



  • 相关阅读:
    You are not late! You are not early!
    在同一个服务器(同一个IP)为不同域名绑定的免费SSL证书
    Vue.js Is Good, but Is It Better Than Angular or React?
    It was not possible to find any compatible framework version
    VS增加插件 Supercharger破解教程
    Git使用ssh key
    Disconnected: No supported authentication methods available (server sent: publickey)
    VS 2013打开.edmx文件时报类型转换异常
    asp.net MVC4 框架揭秘 读书笔记系列3
    asp.net MVC4 框架揭秘 读书笔记系列2
  • 原文地址:https://www.cnblogs.com/276815076/p/3878152.html
Copyright © 2011-2022 走看看