cpu参数

电脑硬件知识

点点圈 提交于 2019-11-29 00:26:57
一、处理器CPU知识 CPU的分类 1.CPU品牌有两大阵营,分别是Intel(英特尔)和AMD,这两个行业老大几乎垄断了CPU市场,大家拆开电脑看看,无非也是Intel和AMD的品牌(当然不排除极极少山寨的CPU)。而Intel的CPU又分为Pentium(奔腾)、Celeron(赛扬)和Core(酷睿)。其性能由高到低也就是Core>Pentium>Celeron。AMD的CPU分为Semporn(闪龙)和Athlon(速龙),性能当然是Athlon优于Semporn的了。 Intel与AMD标志认识 2.CPU的主频认识 提CPU时,经常听到2.4GHZ、3.0GHZ等的CPU,这些到底代表什么?这些类似于2.4GHZ的东东其实就是CPU的主频,也就是主时钟频率,单位就是MHZ。这时用来衡量一款CPU性能非常关键的指标之一。主频计算还有条公式。主频=外频×倍频系数。 单击“我的电脑”→“属性”就可以查看CPU类型和主频大小 我的电脑-属性查看cpu信息 3.CPU提到的FSB是什么 FSB就是前端总线,简单来说,这个是CPU与外界交换数据的最主要通道。FSB的处理速度快慢也会影响到CPU的性能。4.CPU提及的高速缓存指的又是什么呢?高速缓存指内置在CPU中进行高速数据交换的储存器。分一级缓存(L1Cache)、二级缓存(L2Cache)以及三级缓存(L3Cache)。

NUMA的取舍与优化设置

回眸只為那壹抹淺笑 提交于 2019-11-28 23:37:22
NUMA的取舍与优化设置 https://www.cnblogs.com/tcicy/p/10191505.html 在os层numa关闭时,打开bios层的numa会影响性能,QPS会下降15-30%; 在bios层面numa关闭时,无论os层面的numa是否打开,都不会影响性能。 安装numactl: #yum install numactl -y #numastat 等同于 cat /sys/devices/system/node/node0/numastat , 在 /sys/devices/system/node/文件夹中记录系统中的所有内存节点的相关详细信息。   #numactl --hardware 列举系统上的NUMA节点 #numactl --show 查看绑定信息 Redhat或者Centos系统中可以通过命令判断bios层是否开启numa # grep -i numa /var/log/dmesg 如果输出结果为: No NUMA configuration found 说明numa为disable,如果不是上面内容说明numa为enable,例如显示:NUMA: Using 30 for the hash shift. 可以通过lscpu命令查看机器的NUMA拓扑结构。 当发现numa_miss数值比较高时,说明需要对分配策略进行调整

CentOS查看主板型号、CPU、显卡、硬盘等信息

自古美人都是妖i 提交于 2019-11-28 23:03:02
系统 uname -a # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # 查看计算机名 lspci -tv # 列出所有PCI设备 lsusb -tv # 列出所有USB设备 lsmod # 列出加载的内核模块 env # 查看环境变量 资源 free -m # 查看内存使用量和交换区使用量 df -h # 查看各分区使用情况 du -sh <目录名> # 查看指定目录的大小 grep MemTotal /proc/meminfo # 查看内存总量 grep MemFree /proc/meminfo # 查看空闲内存量 uptime # 查看系统运行时间、用户数、负载 cat /proc/loadavg # 查看系统负载    磁盘和分区 mount | column -t # 查看挂接的分区状态 fdisk -l # 查看所有分区 swapon -s # 查看所有交换分区 hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) dmesg | grep IDE # 查看启动时IDE设备检测状况    网络 ifconfig # 查看所有网络接口的属性 iptables -L # 查看防火墙设置 route -n # 查看路由表

Java 并发:学习Thread 类

﹥>﹥吖頭↗ 提交于 2019-11-28 22:59:03
Java 中 Thread类 的各种操作与线程的生命周期密不可分,了解线程的生命周期有助于对Thread类中的各方法的理解。一般来说,线程从最初的创建到最终的消亡,要经历创建、就绪、运行、阻塞 和 消亡 五个状态。在线程的生命周期中,上下文切换通过存储和恢复CPU状态使得其能够从中断点恢复执行。结合 线程生命周期,本文最后详细介绍了 Thread 各常用 API。特别地,在介绍会导致线程进入Waiting状态(包括Timed Waiting状态)的相关API时,在这里特别关注两个问题: 客户端调用该API后,是否会释放锁(如果此时拥有锁的话); 客户端调用该API后,是否会交出CPU(一般情况下,线程进入Waiting状态(包括Timed Waiting状态)时都会交出CPU); 一. 线程的生命周期   Java 中 Thread类 的具体操作与线程的生命周期密不可分,了解线程的生命周期有助于对Thread类中的各方法的理解。   在 Java虚拟机 中,线程从最初的创建到最终的消亡,要经历若干个状态:创建(new)、就绪(runnable/start)、运行(running)、阻塞(blocked)、等待(waiting)、时间等待(time waiting) 和 消亡(dead/terminated)。 当我们需要线程来执行某个子任务时,就必须先创建一个线程。但是线程创建之后

进程,线程池 ,同步异步

梦想的初衷 提交于 2019-11-28 22:31:15
进程池,线程池 以时间换空间,控制进程,线程开启的数量 进程池与cpu一一对应是并行 线程池是并发:一个容器,这个容器限制住你开启线程(进程)的数量,比如4个,第一次肯定只能变更发的处理4个任务,只要有任务完成,线程马上就会接下一个人任务 以时间换空间,控制进程,线程开启的数量 进程池与cpu一一对应是(并行)或并行加并发 线程池是并发:一个容器,这个容器限制住你开启线程(进程)的数量,比如4个,第一次肯定只能变更发的处理4个任务,只要有任务完成,线程马上就会接下一个人任务 以时间换空间 from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor def fun(): print(1) t=ThreadPoolExecutor()#实例化一个进程池对象 t.submit(fun)#用submit开启一个进程池 基于线程池的服务端 from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import socket import os import time import random def communicate(conn, addr): while 1: # # try: from_client_data = conn

vmstat命令详解

∥☆過路亽.° 提交于 2019-11-28 22:23:26
一、前言 vmstat命令: 用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。这些信息反映了系统的负载情况 二、虚拟内存运行原理 在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。 在Linux内存管理中,主要是通过“调页Paging”和“交换Swapping”来完成上述的内存调度。调页算法是将内存中最近不常使用的页面换到磁盘上,把活动页面保留在内存中供进程使用。交换技术是将整个进程,而不是部分页面,全部交换到磁盘上。 分页(Page)写入磁盘的过程被称作Page-Out,分页(Page)从磁盘重新回到内存的过程被称作Page-In。当内核需要一个分页时,但发现此分页不在物理内存中(因为已经被Page-Out了),此时就发生了分页错误(Page Fault)。 当系统内核发现可运行内存变少时,就会通过Page-Out来释放一部分物理内存。经管Page-Out不是经常发生,但是如果Page-out频繁不断的发生,直到当内核管理分页的时间超过运行程式的时间时,系统效能会急剧下降。这时的系统已经运行非常慢或进入暂停状态,这种状态亦被称作thrashing(颠簸)。

操作系统

孤街醉人 提交于 2019-11-28 21:35:18
C的内存分配 32bitCPU可寻址4G线性空间, 每个进程都有各自独立的4G逻辑地址, 其中0~3G是用户态空间, 3~4G是内核空间, 不同进程相同的逻辑地址会映射到不同的物理地址中. 其逻辑地址其划分如下: 正文段(code segment/text segment, .text段): 或称代码段, 通常是用来存放程序执行代码的一块内存区域. 这部分区域的大小在程序运行前就已经确定, 并且内存区域通常属于只读, 某些架构也允许代码段为可写, 即允许修改程序. 在代码段中, 也有可能包含一些只读的常数变量, 例如字符串常量等 . CPU执行的机器指令部分. ( 存放函数体的二进制代码 . ) 只读数据段(RO data, .rodata):只读数据段是程序使用的一些不会被改变的数据, 使用这些数据的方式类似查表式的操作, 由于这些变量不需要修改, 因此只需放在只读存储器中. 已初始化读写数据段(data segment, .data段):通常是用来存放程序中已初始化的全局变量的一块内存区域. 数据段属于静态内存分配. 常量字符串就是放在这里的, 程序结束后由系统释放(rodata—read only data). 已初始化读写数据段(RW data, .data):已初始化数据是在程序中声明, 并且具有初值的变量, 这些变量需要占用存储器空间,

IO实时监控命令iostat详解

六月ゝ 毕业季﹏ 提交于 2019-11-28 19:27:22
前言 话说搞运维的人没有两把“刷子”,都不好意思上服务器操作。还好,我还不是搞运维的,我一直都自诩是开发人员,奈何现在的东家运维人员“水”的一比,还要我这个自诩是开发的人撸起袖子亲自上阵,好吧,没有办法,重拾以前的命令,再次走起~~~ 说到运维,那就离不开监控磁盘了。而说到磁盘监控,那又不得不说道说道 iostat 命令了。这篇文章就对那个我曾经非常熟悉的 iostat 命令进行详细的总结。 命令详解 Linux系统中的 iostat 是I/O statistics(输入/输出统计)的缩写, iostat 工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同 vmstat 一样, iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。 iostat 常用命令格式如下: iostat [参数] [时间] [次数] 命令参数说明如下: -c 显示CPU使用情况 -d 显示磁盘使用情况 -k 以K为单位显示 -m 以M为单位显示 -N 显示磁盘阵列(LVM) 信息 -n 显示NFS使用情况 -p 可以报告出每块磁盘的每个分区的使用情况 -t 显示终端和CPU的信息 -x 显示详细信息 下面就对我们常用的使用方式进行详细的总结。 使用实例 命令: iostat -x 说明:显示详细信息 输出: [user1

实时监控

北慕城南 提交于 2019-11-28 18:22:24
实时监控 top top: 能够实时监控系统的运行状态,并且可以按照cpu及内存等进行排序。 语法: top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols] top参数 -h:帮助 -p: 监控指定的进程,当监控多个进程时,进程ID以逗号分隔。这个选项只能在命令行下使用。 top任务区命令 M: 按内存使用率排序 P:按CPU使用率排序 z:彩色/黑白显示。 top top中的load average:系统的运行队列的平均利用率,也可以认为是可运行进程的平均数。三个值分别表示 在最后的1分钟、5分钟、15分钟的平均负载值。 top说明 在单核cpu中load average 的值为1时表示满负荷状态。同理在多核cpu中满负载的load average的值为1*cpu核数。 命令: top -p 1,2 :表示只监控进程1和2 top -h :查看帮助命令 vmstat 可以监控操作系统的进程状态、内存、虚拟内存、磁盘IO、CPU的信息。 语法: vmstat [-a] [-n] [-S unit] [delay [count]] vmstat参数 -S: 使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(byte). 默认单位为K

命令 检查Linux服务器性能

末鹿安然 提交于 2019-11-28 17:40:18
一、uptime命令 这个命令可以快速查看机器的负载情况。在Linux系统中,这些数据表示等待CPU资源的进程和阻塞在不可中断IO进程(进程状态为D)的数量。这些数据可以让我们对系统资源使用有一个宏观的了解。 命令的输出分别表示1分钟、5分钟、15分钟的平均负载情况。通过这三个数据,可以了解服务器负载是在趋于紧张还是趋于缓解。如果1分钟平均负载很高,而15分钟平均负载很低,说明服务器正在命令高负载情况,需要进一步排查CPU资源都消耗在了哪里。反之,如果15分钟平均负载很高,1分钟平均负载较低,则有可能是CPU资源紧张时刻已经过去。 上面例子中的输出,可以看见最近1分钟的平均负载非常高,且远高于最近15分钟负载,因此我们需要继续排查当前系统中有什么进程消耗了大量的资源。可以通过下文将会介绍的vmstat、mpstat等命令进一步排查。 二、dmesg命令 该命令会输出系统日志的最后10行。示例中的输出,可以看见一次内核的oom kill和一次TCP丢包。这些日志可以帮助排查性能问题。千万不要忘了这一步。 三、vmstat命令 vmstat(8) 命令,每行会输出一些系统核心指标,这些指标可以让我们更详细的了解系统状态。后面跟的参数1,表示每秒输出一次统计信息,表头提示了每一列的含义,这几介绍一些和性能调优相关的列: r:等待在CPU资源的进程数