cpu时间

Linux命令:iostat命令

[亡魂溺海] 提交于 2020-03-22 17:55:25
  Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。 1.命令格式:   iostat[参数][时间][次数] 2.命令功能: 通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。 3.命令参数:   -C 显示CPU使用情况   -d 显示磁盘使用情况   -k 以 KB 为单位显示   -m 以 M 为单位显示   -N 显示磁盘阵列(LVM) 信息   -n 显示NFS 使用情况   -p[磁盘] 显示磁盘和分区的情况   -t 显示终端和CPU的信息   -x 显示详细信息   -V 显示版本信息 4.使用实例: 实例1:显示所有设备负载情况 命令:   iostat 输出: [root@CT1186 ~]# iostat Linux 2.6.18-128.el5 (CT1186) 2012年12月28日 avg-cpu: %user %nice %system %iowait

Java JVM 相关基础知识

别来无恙 提交于 2020-03-22 13:35:00
1.JMM Java内存模型 每条线程都有自己的工作内存[Working Memory] 线程的工作内存保存了被该线程使用的变量的主内存副本拷贝 线程对变量的所有线程之间也无法直接访问对方工作内存的变量,线程间变量值的传递均需要通过主内存来完成。 2.java的堆和栈 1)堆 heap:可动态申请的内存空间(其记录空闲内存空间的链表由操作系统维护);     其中的内存在不需要时可以回收,以分配给新的内存请求,其 内存中的数据是无序的 ;     一般由使用者自由分配,malloc 分配的就是堆,需要手动释放;     被所有线程共享的一块内存区域,在虚拟机启动时创建, 此内存区域的唯一目的就是存放对象实例 。 2)栈 stack:先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量.;     在 java 中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前 scopes 内(就是由{...}括起来的区域);      先分配的内存必定后释放 ;     一般由系统自动分配,存放函数的参数值,局部变量等,自动清除 3.方法区 本地方法栈 1)方法区 Method Area:和Java 堆一样,别名叫做 Non-Heap(非堆),是各个线程共享的内存区域;           它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据

如何理解:程序、进程、线程、并发、并行、高并发?

回眸只為那壹抹淺笑 提交于 2020-03-22 00:29:24
问题: 如何理解:程序、进程、线程、并发、并行、高并发? 作者:大宽宽 链接:https://www.zhihu.com/question/307100151/answer/894486042 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 在这里你可以了解: 为啥大家说的进程的意思有出入? 为啥并发那么难理解? 为啥高并发不仅仅是“高”+“并发”的意思? 为啥这些概念到了现实当中就不一样了? 进程,和另一种进程   假如你想铺一条长1000m,宽50m的路。为了解决这个问题,你先构想出来假如你自己1个人做,整个过程第一步干什么,第二步干什么等等。这个干活的过程,可以被称作一个【进程】(Process),或者你可以理解为“一个做事的办法/步骤/方案“。进程的英文Process本意就是“过程”的意思,是一个抽象的概念。这个活有没有真得干并不重要,重要的是你已经预先想好了这个活该怎么干, 有了一个可行思路 。注意,这里【进程】仅仅是描述这个方案的。至于这个方案是在脑海里,还是已经被执行了,是不重要的。   把这套铺路的方案用纸张写出来就得到一个【程序】。在软件开发中也是如此,只不过用的不是纸笔,而是键盘+存储器+某种编程语言。   当然,大家更加熟知的进程往往指的是另外一个意思,是指“程序在操作系统中运行的实例“。所谓“实例

java多线程(1) 线程的基本概念

不问归期 提交于 2020-03-21 23:02:33
一、线程的基本概念:                         线程是一个程序里面不同的执行路径。 程序里面不同的执行路径,每一个分支都是一个线程。 进程:静态的概念。机器上的一个class文件,机器上的一个exe文件,这叫一个进程。 机器里面实际上运行的都是线程。 window等。linux等都是多进程,多线程的系统。 CPU的执行是这样的: CPU速度比较快,一秒钟算好几亿次,它把自己的时间分成一个一个的小时间片,这个时间片我执行你一会,再执行他一会,虽然有几十个线程, 没关系,执行这个一会,执行那个一会,挨着排的都执行一遍,但是对我们人来说,因为它速度太快了,你看起来就好像好多线程在同时执行一样。 但实际上,在一个时间点上, 这个CPU只有一个线程在运行。 如果机器是双CPU,或者是双核,那么确实是多线程。 二、线程的启动和创建:                                 例子1:实现Runnable接口: package com.cy.thread; public class TestThread1 { public static void main(String[] args) { Runner1 r = new Runner1(); Thread t = new Thread(r); //启动一个线程

Java 线程的基本使用

六眼飞鱼酱① 提交于 2020-03-21 20:36:11
线程的2种实现方式 1、继承Thread类,重写run()方法 public class Thread1 extends Thread{ @Override public void run() { //要执行的代码 while (true){ System.out.println("thread1 is running...."); } } } Thread1 thread1 = new Thread1(); thread1.start(); 2、实现Runnable接口 public class MyRunnable implements Runnable{ @Override public void run() { //要执行的代码 while (true) { System.out.println("thread2 is running...."); } } } MyRunnable myRunnable = new MyRunnable(); Thread thread2 = new Thread(myRunnable); thread2.start(); 相比而言,第一种要简单些。 我们测试下: public class Test { public static void main(String[] args) { Thread1 thread1 = new

VMware与Centos系统安装

北城余情 提交于 2020-03-21 19:58:29
1.Linux发行版的选择 2.vmware创建一个虚拟机(centos) 3.安装配置centos7 4.xshell配置连接虚拟机(centos) 选择性 pc可以选择 -纯系统 Linux/windows -双系统 Windows+Linux -虚拟化技术 Windows+vmware workstation 服务器 -物理机纯系统 -物理机+vmware(vmware esxi) -物理机+docker 安装 -简易安装 -自定义安装 -快照 下载centos系统ISO镜像 要安装centos系统,就必须得有centos系统软件安装程序,可以通过浏览器访问centos官网http://www.centos.org,然后找到Downloads - > mirrors链接,点击后进入下载,但是由于这是国外的网址,下载速度肯定受限。 因此可以使用国内的镜像源 https://opsx.alibaba.com/mirror#阿里云官方镜像站 iso下载地址(此DVD映像包含可以使用该软件安装的所有软件包安装程序。这是大多数用户的推荐图像。):https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso 为什么要选择64位操作系统? 目前绝大多数生产环境

VMware与Centos系统安装

喜欢而已 提交于 2020-03-21 19:54:38
目录 1.Linux发行版的选择 2.vmware创建一个虚拟机(centos) 3.安装配置centos7 4.xshell配置连接虚拟机(centos) 选择性 pc可以选择 -纯系统 Linux/windows -双系统 Windows+Linux -虚拟化技术 Windows+vmware workstation 服务器 -物理机纯系统 -物理机+vmware(vmware esxi) -物理机+docker 安装 -简易安装 -自定义安装 -快照 下载centos系统ISO镜像 要安装centos系统,就必须得有centos系统软件安装程序,可以通过浏览器访问centos官网http://www.centos.org,然后找到Downloads - > mirrors链接,点击后进入下载,但是由于这是国外的网址,下载速度肯定受限。 因此可以使用国内的镜像源 https://opsx.alibaba.com/mirror#阿里云官方镜像站 iso下载地址(此DVD映像包含可以使用该软件安装的所有软件包安装程序。这是大多数用户的推荐图像。):https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso 为什么要选择64位操作系统? 目前绝大多数生产环境

LXD 2.0 系列(四):资源控制

我与影子孤独终老i 提交于 2020-03-20 13:45:31
这是 LXD 2.0 系列介绍文章的第四篇。 LXD 入门 安装与配置 你的第一个 LXD 容器 资源控制 镜像管理 远程主机及容器迁移 LXD 中的 Docker LXD 中的 LXD 实时迁移 LXD 和 Juju LXD 和 OpenStack 调试,及给 LXD 做贡献 因为 LXD 容器管理有很多命令,因此这篇文章会很长。 如果你想要快速地浏览这些相同的命令,你可以 尝试下我们的在线演示 ! 可用资源限制 LXD 提供了各种资源限制。其中一些与容器本身相关,如内存配额、CPU 限制和 I/O 优先级。而另外一些则与特定设备相关,如 I/O 带宽或磁盘用量限制。 与所有 LXD 配置一样,资源限制可以在容器运行时动态更改。某些可能无法启用,例如,如果设置的内存值小于当前内存用量,但 LXD 将会试着设置并且报告失败。 所有的限制也可以通过配置文件继承,在这种情况下每个受影响的容器将受到该限制的约束。也就是说,如果在默认配置文件中设置 limits.memory=256MB ,则使用默认配置文件(通常是全都使用)的每个容器的内存限制为 256MB。 我们不支持资源限制池,将其中的限制由一组容器共享,因为我们没有什么好的方法通过现有的内核 API 实现这些功能。 磁盘 这或许是最需要和最明显的需求。只需设置容器文件系统的大小限制,并对容器强制执行。 LXD 确实可以让你这样做!

[转载]深入理解iostat

半城伤御伤魂 提交于 2020-03-20 07:26:10
深入理解iostat 前言 iostat算是比较重要的查看块设备运行状态的工具,相信大多数使用Linux的同学都用过这个工具,或者听说过这个工具。但是对于这个工具,引起的误解也是最多的,大多数人对这个工具处于朦朦胧胧的状态。现在我们由浅到深地介绍这个工具,它输出的含义什么,介绍它的能力边界,介绍关于这个工具的常见误解。 基本用法和输出的基本含义 iostat的用法比较简单,一般来说用法如下: iostat -mtx 2 含义是说,每2秒钟采集一组数据: -m Display statistics in megabytes per second. -t Print the time for each report displayed. The timestamp format may depend on the value of the S_TIME_FORMAT environment variable (see below). -x Display extended statistics. 输出的结果如下所示: 注意,上图是在对sdc这块单盘(RAID卡上的单盘)做4KB的随机写入测试: fio --name=randwrite --rw=randwrite --bs=4k --size=20G --runtime=1200 --ioengine=libaio --iodepth

iostat 命令

夙愿已清 提交于 2020-03-19 23:06:23
NAME iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions and network filesystems (NFS). SYNOPSIS iostat [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } [ device [...] | ALL ] ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]参数: -c 显示CPU使用情况 -d 显示磁盘使用情况 -k 以 KB 为单位显示 -m 以 M 为单位显示 -N 显示磁盘阵列(LVM) 信息 -n 显示NFS 使用情况 -p [磁盘] 显示磁盘和分区的情况 -t 显示终端和CPU的信息 -x 显示详细信息 -V 显示版本信息 cpu和磁盘使用信息 iostat -x cpu属性值: %user:CPU处在用户模式下的时间百分比。 %nice