一、 概述
1.1 内容简介

Vdbench 是一个命令行使用程序,旨在帮助工程师和客户生成用于验证存储性能和存储数据完
整性的磁盘 I/O 负载。还可通过输入文本文件指定 Vdbench 执行参数。它是一个免费的工具,容
易使用,而且常常用于测试和基准测试。
本指南向读者介绍 Vdbench 工具在在 Linux 和 Windows 平台安全使用,对快速学习该工具提
供参考。

文档包含以下内容:

  • 安装配置
  • 常用参数详解
  • 常用测试用例

1.2 产品版本

产品名称

版本

描述

Vdbench 5.04.07 性能测试工具
Linux 客户端 CentOS 7.6 X64 Linux 操作系统
Windows 客户端 Windows 2012 R2 X64 Windows 操作系统

1.3 读者对象
      本文档主要适用于如下工程师:

  • 部门工程师
  • 合作伙伴技术工程师
  • 客户技术工程师

二、 下载地址

官网下载链接: Vdbench Downloads

3.1 Linux 安装步骤

3.1.1 上传所需软件
              使用 winscp 或者 filezilla 将所需软件上传至/root/目录下

  • Linux 对应版本操作系统的 iso
  • vdbench50407.zip

3.1.2 配置 YUM 源安装 java 环境
              检查是否已经安装 java,如已安装,请跳过本步骤(3.1.2),继续执行 3.1.3 步骤即可。
              rpm -qa|grep ^java
              输出如下,则说明已经安装 java。

3.1.2.1 本地 YUM 源安装(推荐)
 1、如无法接入外网情况下,可考虑配置本地 YUM 源进行安装相关依赖包;使用 winscp 或者 filezilla 将 Linux 对应版本操作系统的 iso 上传至/root/目录下

mount -o loop /root/<对应版本操作系统>.iso /media/

yum-config-manager --add-repo=file:///media

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-*

yum clean all

yum makecache

yum repolist

2、安装 java

yum install -y java-1.8.0-openjdk

3.1.2.2 互联网 YUM 源安装
1、确定本机可以访问互联网
2、配置 DNS

#vim /etc/resolv.conf    //在这个文件中插入如下内容

nameserver 114.114.114.114

ping www.baidu.com

输出如下,则说明可以正常访问互连网且域名解析正常;否则请检查网络和 DNS 的配置。

3、使用系统自带 CentOS-Base.repo 配置文件即可
备注:如果没有该配置文件则可以手动新建编辑 CentOS-Base.repo 文件

# vi /etc/yum.repos.d/CentOS-Base.repo //在这个文件中插入如下内容

[base]

name=CentOS-$releasever - Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&i

nfra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates

[updates]

name=CentOS-$releasever - Updates

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=upda

tes&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extra

s&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

4、安装 java

yum install -y java-1.8.0-openjdk

3.1.3 安装 Vdbench
Vdbench 无需安装,解压 vdbench50407.zip 即可。

mkdir /root/vdbench50407

mv /root/vdbench50407.zip /root/vdbench50407

unzip /root/vdbench50407/vdbench50407.zip

3.1.4 验证 Vdbench 是否安装成功
执行以下命令检查是否安装成功:

/root/vdbench50407/vdbench -t

看到结尾输入如下,则说明安装成功:

3.2 Windows 安装步骤
3.2.1 上传所需软件
使用远程桌面将所需软件上传至 C 盘目录下

  • jre-8u241-windows-x64.exe
  • vdbench50407.zip

3.2.2 安装 java
a) 双击“jre-8u241-windows-x64.exe”
b) 点击“安装”,开始安装

c) 完成安装

3.2.3 安装 Vdbench
Vdbench 无需安装,解压 vdbench50407.zip 即可。
3.2.4 验证 Vdbench 是否安装成功
win + R,打开命令行窗口
依次进入到 Vdbench 所在的文件夹,执行.\vdbench -t

看到结尾输入如下,则说明安装成功:

四、 常用参数详解
4.1 块设备常用参数
      4.1.1 主机定义(HD)

hd:主机定义
system= IP 地址或网络名称

4.1.2 存储定义(SD)

sd= 标识存储的名称。
host= 存储所在的主机的 ID。
lun= 原始磁盘、磁带或文件系统的名称。Vdbench 也可为您创建一个磁盘。
threads= 对 SD 的最大并发 I/O 请求数量。默认为 8。
hitarea= 调整读取命中百分比的大小。默认为 1m
openflags= 用于打开一个 lun 或一个文件的 flag_list

4.1.3 工作负载定义(WD)

wd= 标识工作负载的名称
sd= 要使用的存储定义的 ID
host= 要运行此工作负载的主机的 ID。默认设置为 localhost
rdpct= 读取请求占请求总数的百分比,为 100,则为读;为 0,则为写。
rhpct= 读取命中百分比。默认设置为 0。
whpct= 写入命中百分比。默认设置为 0。
xfersize= 要传输的数据大小。默认设置为 4k。
seekpct= 随机寻道的百分比。可为随机值,为 0 则为顺序;为 100 则为随机。

4.1.4 工作负载定义(RD)

rd= 标识运行的名称。
wd= 用于此运行的工作负载的 ID。
iorate= 一个或多个 I/O 速率XSKY Vdbench 工具安装使用标准文档
interval=报告间隔序号
elapsed= time:以秒为单位的运行持续时间。默认设置为 30。
warmup= time:加热期,最终会被忽略

4.2 文件系统常用参数
      4.2.1 主机定义(HD)

hd:主机定义
system= IP 地址或网络名称

4.2.2 文件存储定义(FSD)

fsd= 标识文件系统定义的名称
anchor= 将在其中创建目录结构的目录
width= 要在定位符下创建的目录数
depth= 要在定位符下创建的级别数
files= 要在最低级别创建的文件数
sizes=将创建的文件大小
openflags= 用于打开一个 lun 或一个文件的 flag_list

4.2.3 文件工作负载定义(FWD)

fwd= 标识文件系统工作负载定义的名称。
fsd= 要使用的文件系统定义的 ID。
host= 要用于此工作负载的主机的 ID。
fileio= random 或 sequential,表示文件 I/O 将执行的方式。
fileselect= random 或 sequential,标识选择文件或目录的方式。
xfersizes= 数据传输(读取和写入操作)处理的数据大小。
operation= mkdir、rmdir、create、delete、open、close、read、write、getattr 和 setattr。
选择要执行的单个文件操作。
threads= 此工作负载的并发线程数量。每个线程需要至少 1 个文件。

4.2.4 运行定义(RD)

rd= 标识运行的名称。
fwd= 要使用的文件系统工作负载定义的 ID。
interval=报告间隔序号
fwdrate= 每秒执行的文件系统操作数量。
format= yes / no / only / restart / clean / directories。在开始运行之前要执行的操作。
yes:是每次都会先删除目录文件,再重新创建
restart:每次起的时候会先校验文件、目录是否全,不全的补上
elapsed= time:以秒为单位的运行持续时间。

五、 使用方法
        5.1 Linux 使用方法

/root/vdbench50407/vdbench -f parmfile

5.2 Windows 使用方法

c:\vdbench50407\vdbench.bat -f parmfile

六、 常用测试脚本
        6.1 Linux 常用测试脚本
             6.1.1 块存储常用测试脚本

//定义主机的默认参数,Vdbench 的路径为/root/vdbench50407,用户为 root,shell 为 ssh

hd=default,vdbench=/root/vdbench50407,user=root,shell=ssh

//定义 3 个主机,标签为 hd1-3,ip 为 44.8.16.205-207

hd=hd1,system=44.8.16.205

hd=hd2,system=44.8.16.206

hd=hd3,system=44.8.16.207

//定义存储的默认参数,openflags 采用 O_direct,卷大小为 100G,线程为 8 个。

sd=default,openflags=o_direct,size=100GB,threads=8

//定义 6 个存储,分别是主机 hd1 的 sdn、sdo 的卷,主机 hd2 的 sdn、sdo 的卷,主机 hd3 的sdn、sdo 的卷

sd=sd1,hd=hd1,lun=/dev/sdn

sd=sd2,hd=hd1,lun=/dev/sdo

sd=sd3,hd=hd2,lun=/dev/sdn

sd=sd4,hd=hd2,lun=/dev/sdo

sd=sd5,hd=hd3,lun=/dev/sdn

sd=sd6,hd=hd3,lun=/dev/sdo

//定义工作负载 RandomCase1,4k 100%随机写

wd=RandomCase1,rdpct=0,seekpct=100,xfersize=4k

//定义工作负载 RandomCase2,4k 100%随机读

wd=RandomCase2,rdpct=100,seekpct=100,xfersize=4k

//定义工作负载 RandomCase3,1M 100%顺序写

wd=RandomCase3,rdpct=0,seekpct=0,xfersize=1024k

//定义工作负载 RandomCase4,1M 100%顺序读

wd=RandomCase4,rdpct=100,seekpct=0,xfersize=1024k

//定义运行默认参数,打印间隔为 1s,io 速率为最大

rd=default,interval=1,iorate=max

//定义运行任务 TestCase1,使用工作负载 RandomCase1,使用存储为所有定义存储,预热120s,运行 60s。(执行 4k 随机写测试)

rd=TestCase1,wd=RandomCase1,sd=sd*,warmup=120,elapsed=60

//定义运行任务 TestCase2,使用工作负载 RandomCase1,使用存储为所有定义存储,预热120s,运行 60s。(执行 4k 随机读测试)

rd=TestCase2,wd=RandomCase2,sd=sd*,warmup=120,elapsed=60

//定义运行任务 TestCase3,使用工作负载 RandomCase1,使用存储为所有定义存储,预热120s,运行 60s。(执行 1M 顺序写测试)

rd=TestCase3,wd=RandomCase3,sd=sd*,warmup=120,elapsed=60

//定义运行任务 TestCase4,使用工作负载 RandomCase1,使用存储为所有定义存储,预热120s,运行 60s。(执行 1M 顺序读测试)

rd=TestCase4,wd=RandomCase4,sd=sd*,warmup=120,elapsed=60

6.1.2 文件存储常用测试脚本

//定义主机的默认参数,Vdbench 的路径为/root/vdbench50407,用户为 root,shell 为 ssh

hd=default,vdbench=/root/vdbench50407,user=root,shell=ssh

//定义 3 个主机,标签为 hd1-3,ip 为 44.8.16.205-207

hd=hd1,system=44.8.16.205

hd=hd2,system=44.8.16.206

hd=hd3,system=44.8.16.207

//定义文件存储的默认参数,文件夹的深度为 3,广度为 8,共计 512 个文件夹。

fsd=default,depth=3,width=8

//定义文件存储 fsd1,目录为/test-nas/4k,最下层每个文件夹里有 512 个文件,每个文件大小为4k。

fsd=fsd1,anchor=/test-nas/4k,files=512,size=4k,shared=yes

//定义文件存储 fsd2,目录为/test-nas/4k,最下层每个文件夹里有 32 个文件,每个文件大小为1m。

fsd=fsd2,anchor=/test-nas/1m,files=32,size=1m,shared=yes

//定义默认文件工作负载,线程为 16 个,openflags 采用 O_direct,传输数据的大小为 512k。

fwd=default,threads=16,openflags=o_direct,xfersize=512k

//定义文件工作负载 fwd1,主机为 hd1-hd3,文件存储定义为 fsd1,单个文件为顺序写,文件选择方式为随机。

fwd=fwd1,hd=(hd1,hd2,hd3),fsd=fsd1,operation=write,fileio=sequential,fileselect=random

//定义文件工作负载 fwd2,主机为 hd1-hd3,文件存储定义为 fsd1,单个文件为顺序读,文件选择方式为随机。

fwd=fwd2,hd=(hd1,hd2,hd3),fsd=fsd1,operation=read,fileio=sequential,fileselect=random

//定义文件工作负载 fwd3,主机为 hd1-hd3,文件存储定义为 fsd2,单个文件为顺序写,文件选择方式为随机。

fwd=fwd3,hd=(hd1,hd2,hd3),fsd=fsd2,operation=write,fileio=sequential,fileselect=random

//定义文件工作负载 fwd4,主机为 hd1-hd3,文件存储定义为 fsd2,单个文件为顺序读,文件选择方式为随机。

fwd=fwd4,hd=(hd1,hd2,hd3),fsd=fsd2,operation=read,fileio=sequential,fileselect=random

//定义运行 rd1,文件工作负载为 fwd1,打印间隔为 1s,运行前执行的操作为 restart,执行文件操作的速率为最大,执行时间为 60s。

rd=rd1,fwd=fwd1,interval=1,format=restart,fwdrate=max,elapsed=60

//定义运行 rd2,文件工作负载为 fwd2,打印间隔为 1s,运行前执行的操作为 restart,执行文件操作的速率为最大,执行时间为 60s。

rd=rd2,fwd=fwd2,interval=1,format=restart,fwdrate=max,elapsed=60

//定义运行 rd3,文件工作负载为 fwd3,打印间隔为 1s,运行前执行的操作为 restart,执行文件操作的速率为最大,执行时间为 60s。

rd=rd3,fwd=fwd3,interval=1,format=restart,fwdrate=max,elapsed=60

//定义运行 rd4,文件工作负载为 fwd4,打印间隔为 1s,运行前执行的操作为 restart,执行文件操作的速率为最大,执行时间为 60s。

rd=rd4,fwd=fwd4,interval=1,format=restart,fwdrate=max,elapsed=60

fsd=fsd1,anchor=/testing_dir,depth=1,width=1,file=100000,size=10m,openflags=o_direct  
fwd=fwd1,fsd=fsd1,operation=read,xfersize=1m,fileio=random,fileselect=random,threads=64  
rd=rd1,fwd=fwd1,fwdrate=max,format=no,forrdpct=(0),elapsed=120,interval=2,pause=1m

6.2 Windows 常用测试脚本
      6.2.1 块存储常用测试脚本

//定义主机的默认参数,Vdbench 的路径为 c:\vdbench50407,shell 为 vdbench

hd=default,vdbench=c:\vdbench50407,shell=vdbench

//定义 3 个主机,标签为 hd1-3,ip 为 44.8.16.205-207

hd=hd1,system=44.8.16.205

hd=hd2,system=44.8.16.206

hd=hd3,system=44.8.16.207

//定义存储的默认参数,openflags 采用 directio,卷大小为 90G(设置为创建的卷的 90%),线程为 8 个。

sd=default,openflags=directio,size=90GB,threads=8

//定义 6 个存储,分别是主机 hd1 的磁盘 id 为 1、2 的磁盘,主机 hd2 的磁盘 id 为 1、2 的磁盘,主机 hd3 的磁盘 id 为 1、2 的磁盘

sd=sd1,hd=hd1,lun=\\.\physicaldrive1

sd=sd2,hd=hd1,lun=\\.\physicaldrive2

sd=sd3,hd=hd2,lun=\\.\physicaldrive1

sd=sd4,hd=hd2,lun=\\.\physicaldrive2

sd=sd5,hd=hd3,lun=\\.\physicaldrive1

sd=sd6,hd=hd3,lun=\\.\physicaldrive2

//定义工作负载 RandomCase1,4k 100%随机写

wd=RandomCase1,rdpct=0,seekpct=100,xfersize=4k

//定义工作负载 RandomCase2,4k 100%随机读

wd=RandomCase2,rdpct=100,seekpct=100,xfersize=4k

//定义工作负载 RandomCase3,1M 100%顺序写

wd=RandomCase3,rdpct=0,seekpct=0,xfersize=1024k

//定义工作负载 RandomCase4,1M 100%顺序读

wd=RandomCase4,rdpct=100,seekpct=0,xfersize=1024k

//定义运行默认参数,打印间隔为 1s,io 速率为最大

rd=default,interval=1,iorate=max

//定义运行任务 TestCase1,使用工作负载 RandomCase1,使用存储为所有定义存储,预热120s,运行 60s。(执行 4k 随机写测试)

rd=TestCase1,wd=RandomCase1,sd=sd*,warmup=120,elapsed=60

//定义运行任务 TestCase2,使用工作负载 RandomCase1,使用存储为所有定义存储,预热120s,运行 60s。(执行 4k 随机读测试)

rd=TestCase2,wd=RandomCase2,sd=sd*,warmup=120,elapsed=60

//定义运行任务 TestCase3,使用工作负载 RandomCase1,使用存储为所有定义存储,预热120s,运行 60s。(执行 1M 顺序写测试)

rd=TestCase3,wd=RandomCase3,sd=sd*,warmup=120,elapsed=60

//定义运行任务 TestCase4,使用工作负载 RandomCase1,使用存储为所有定义存储,预热120s,运行 60s。(执行 1M 顺序读测试)

rd=TestCase4,wd=RandomCase4,sd=sd*,warmup=120,elapsed=60

6.2.2 文件存储常用测试脚本

//定义主机的默认参数,Vdbench 的路径为 c:\vdbench50407,shell 为 vdbench

hd=default,vdbench=c:\vdbench50407,shell=vdbench

//定义 3 个主机,标签为 hd1-3,ip 为 44.8.16.205-207

hd=hd1,system=44.8.16.205

hd=hd2,system=44.8.16.206

hd=hd3,system=44.8.16.207

//定义文件存储的默认参数,文件夹的深度为 3,广度为 8,共计 512 个文件夹。

fsd=default,depth=3,width=8

//定义文件存储 fsd1,目录为/test-nas/4k,最下层每个文件夹里有 512 个文件,每个文件大小为4k。

fsd=fsd1,anchor=X:\4k,files=512,size=4k,shared=yes

//定义文件存储 fsd2,目录为/test-nas/4k,最下层每个文件夹里有 32 个文件,每个文件大小为1m。

fsd=fsd2,anchor=X:\1m,files=32,size=1m,shared=yes

//定义默认文件工作负载,线程为 16 个,openflags 采用 directio,传输数据的大小为 512k。

fwd=default,threads=16,openflags=directio,xfersize=512k

//定义文件工作负载 fwd1,主机为 hd1-hd3,文件存储定义为 fsd1,单个文件为顺序写,文件选择方式为随机。

fwd=fwd1,hd=(hd1,hd2,hd3),fsd=fsd1,operation=write,fileio=sequential,fileselect=random

//定义文件工作负载 fwd2,主机为 hd1-hd3,文件存储定义为 fsd1,单个文件为顺序读,文件选择方式为随机。

fwd=fwd2,hd=(hd1,hd2,hd3),fsd=fsd1,operation=read,fileio=sequential,fileselect=random

//定义文件工作负载 fwd3,主机为 hd1-hd3,文件存储定义为 fsd2,单个文件为顺序写,文件选方式为随机。

fwd=fwd3,hd=(hd1,hd2,hd3),fsd=fsd2,operation=write,fileio=sequential,fileselect=random

//定义文件工作负载 fwd4,主机为 hd1-hd3,文件存储定义为 fsd2,单个文件为顺序读,文件选择方式为随机。

fwd=fwd4,hd=(hd1,hd2,hd3),fsd=fsd2,operation=read,fileio=sequential,fileselect=random

//定义运行 rd1,文件工作负载为 fwd1,打印间隔为 1s,运行前执行的操作为 restart,执行文件操作的速率为最大,执行时间为 60s。

rd=rd1,fwd=fwd1,interval=1,format=restart,fwdrate=max,elapsed=60

//定义运行 rd2,文件工作负载为 fwd2,打印间隔为 1s,运行前执行的操作为 restart,执行文件操作的速率为最大,执行时间为 60s。

rd=rd2,fwd=fwd2,interval=1,format=restart,fwdrate=max,elapsed=60

//定义运行 rd3,文件工作负载为 fwd3,打印间隔为 1s,运行前执行的操作为 restart,执行文件操作的速率为最大,执行时间为 60s。

rd=rd3,fwd=fwd3,interval=1,format=restart,fwdrate=max,elapsed=60

//定义运行 rd4,文件工作负载为 fwd4,打印间隔为 1s,运行前执行的操作为 restart,执行文件操作的速率为最大,执行时间为 60s。

rd=rd4,fwd=fwd4,interval=1,format=restart,fwdrate=max,elapsed=60

七、 测试结果解读

7.1 输出结果
最后输出结果如下,则说明测试完成:
Vdbench execution completed successfully. Output directory: /root/vdbench50407/output
       7.2 输出文件说明
每次运行后,Vdbench 会创建一个包含以下文件的 output 文件夹:

  • errorlog.html:当为测试启用了数据验证(-jn)时,它可包含一些数据块中的错误的相关信息
  • flatfile.html:包含 Vdbench 生成的一种逐列的 ASCII 格式的信息。
  • histogram.html:种包含报告柱状图的响应时间、文本格式的文件。
  • logfile.html:包含 Java 代码写入控制台窗口的每行信息的副本。logfile.html 主要用于调试用途
  • parmfile.html:显示已包含用于测试的每项内容的最终结果
  • resourceN-M.html、resourceN.html、resourceN.var_adm_msgs.html:摘要报告、stdout/stderr 报告、主机 N 的摘要报告。
  • sdN.histogram.html、sdN.html:每个 N 存储定义的柱状图和存储定义 “N” 报告。
  • summary.html:主要报告文件,显示为在每个报告间隔的每次运行生成的总工作负载,以及除第一个间隔外的所有间隔的加权平均值。

7.3 summary.html 文件说明
           7.3.1 块存储 sunmary.html 说明

interval:打印间隔

I/O rate:每秒平均 I/O 率

MB sec:每秒平均带宽

bytes I/O:平均 I/O 大小

read pct:平均读百分比

resp time:平均读写响应时间

read resp:平均读响应时间

write resp:平均写响应时间

resp max:最大响应时间 mb/sec

resp stddev:响应时间的标准偏差

queue depth:Vdbench 计算的平均 I/O 队列深度

cpu% sys+usr:CPU 使用率(sys+usr)

cpu% sys:CPU 使用率(sys)

7.3.2 文件存储 sunmary.html 说明

ReqstdOps(rate/resp):每秒处理请求的个数(速率/响应时间)

cpu%(total/sys):CPU 使用率(total/sys)

read pct:读百分比

read(rate/resp):读(速率/响应时间)

write(rate/resp):写(速率/响应时间)

mb/sec(read/write):带宽(读/写)

mb/sec total:总的读写带宽

xfer size:平均传输大小

mkdir(rate/resp):创建文件夹(速率/响应时间)

rmdir(rate/resp):移除文件夹(速率/响应时间)

create(rate/resp):创建文件(速率/响应时间)

open(rate/resp):打开文件(速率/响应时间)

close(rate/resp):关闭文件(速率/响应时间)

delete(rate/resp):删除文件(速率/响应时间)

Vdbench工具安装使用相关推荐

  1. Vdbench工具的安装及使用

    Vdbench工具的安装 Vdbench的运行依赖java环境,请务必先安装java运行环境 安装java,Ubuntu OS环境安装java: apt-get install openjdk-8-j ...

  2. jar java classpath_win7中java编程工具安装 java环境变量设置

    win7中java编程工具安装 java环境变量设置 Question:编译是显示'javac'不是内部或外部命令,也不是可运行的程序或批处理文件 解决: 在[系统变量]里编辑java_home.cl ...

  3. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装

    VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装 在阿里云开源镜像地址下载镜像 Index of /centos/7.2.1511/isos/x86_64/ http://mi ...

  4. yum工具安装Nginx

    2019独角兽企业重金招聘Python工程师标准>>> Nginx官网:nginx.org ,选择稳定的版下载安装,此处我选择下载1.14.2版本,以下是yum工具安装方式: yum ...

  5. 【Java 虚拟机原理】垃圾回收算法( Java VisualVM 工具 | 安装 Visual GC 插件 | 使用 Java VisualVM 分析 GC 内存 )

    文章目录 一.Java VisualVM 工具安装 Visual GC 插件 二.使用 Java VisualVM 分析 GC 内存 一.Java VisualVM 工具安装 Visual GC 插件 ...

  6. Windows下MetaMap工具安装

    Windows下MetaMap工具安装 一.Main MetaMap安装 Prerequisties 12G磁盘空间 JAVA6 or newer JRE or SDK installed Downl ...

  7. arcgis超级工具安装教程_【软件安装管家】Autodesk卸载官方工具安装教程

    点击上面"蓝字"关注,获取更多资源!用心分享 一黑一白我不是灵魂导师一个分享软件/影视/音乐/网站/教程的公众号星标/置顶公众号?因公众号改版,不再按时间推送文章,为不错过最新资源 ...

  8. 【报表技术】IReport 图形化报表开发工具安装教程

    [报表技术]IReport 图形化报表开发工具安装教程 JasperReport简单介绍 JasperReport是一个强大.灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML, ...

  9. 02_clickhouse安装,卸载,启动/关闭服务,交互式命令(数据库创建,数据导入,查询),批模式数据导入,MySQL接口操作ClickHouse,DBeaver可视化工具安装与使用(学习笔记)

    1 ClickHouse安装 安装文件清单 clickhouse-client-${version}.noarch.rpm clickhouse-common-static-dbg-${version ...

  10. Scala编译器安装,开发工具安装,通过IDEA创建scala的工程代码,Scala SDK的设置

    一. Scala编译器安装 1. 安装JDK 因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK 2. 安装Scala 2.1. Windows安装Scala编译器 访问Scal ...

最新文章

  1. 了解你所不知道的SMON功能(十二):Shrink UNDO(rollback) SEGMENT
  2. python实现字典遍历稳定有序使用collection包OrderedDict
  3. 多线程之线程池的应用
  4. Spring boot切换Servlet容器
  5. mysql 增量备份_云计算-开源数据库-备份
  6. 【转】Oracle回收站(recyclebin)
  7. 世上最伟大的十个公式,质能方程排名第五
  8. 小汤学编程之JavaEE学习day09——Mybatis
  9. PHP中通过Web 执行C/C++应用程序
  10. day4 java中print,printf,println的区别
  11. 这是云代驾,不是打游戏
  12. Ubuntu启动密码丢失的找回
  13. 别再透支你的社交信用了
  14. fae专业领域的发展前景_未来这7个专业会“很吃香”,对毕业生的需求量较大,值得报考...
  15. Hash表的时间复杂度为什么是O(1)?
  16. svn 安装教程 TortoiseSvn
  17. 机器人挠人脚心_美国惊现“挠脚狂魔” 潜入宿舍挠人脚心
  18. 探索GIS+物联网应用场景 MapGIS IoT实时大数据解决方案
  19. Gstreamer基础教程12: Streamer流
  20. html之ins标签

热门文章

  1. IBM Watson启示录:AI不应该仅仅是炫技
  2. python自动化要学全部基础知识_FishC工作室《零基础学习python》全套课后题
  3. 为什么用户在注册时需要使用邮箱或手机号作为注册名?
  4. 微信语音技术原理_微信语音多群直播原理-一起学堂
  5. linux中使用网易云音乐
  6. 渠道生意宝android版,生意宝app安卓版
  7. 简明python教程最新版价格_《简明Python教程》【价格 目录 书评 正版】_中国图书网...
  8. 太阳天顶角和方位角计算
  9. java ioutils 写入文件_IOUtils和FileUtils的学习笔记
  10. java飞机大战boss素材_java小游戏飞机大战 源代码以及素材