SMI

2020最新Java工程师面试题-MyBatis篇(附答案)

冷暖自知 提交于 2020-04-18 12:05:11
持续更新内容涵盖 :Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、 Linux 等技术栈(滴滴滴.会持续更新哦,记得点赞、关注、分享三连击哈). MyBatis 面试题: (关注末尾获取完整答案) 1、什么是 Mybatis? 1、Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时 只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性 能,灵活度高。 2、MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数 据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 3、通过 xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最 后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。(从执行 sql 到返 回 result 的过程). 2、Mybaits 的优点:

快速记录一个SNMP trap 实验结果

二次信任 提交于 2020-04-10 15:41:18
今天在园区走了走,然后突然想明白了几天来思考的snmp trap的逻辑。结合若干工具 node包node-net-snmp mib browser 一个我写的mib文件,其中有一个oid,和一个trap oid,指向对象为第一个oid 把这个过程run成功。快速记录下。 先准备好接收snmp trap的应用 下载node-net-snmp 的源代码库,然后: cd example node snmp-receiver.js -v 复制代码 其中-v表示输出要罗嗦一点,这样我们才看得到具体的trap内容。 通过mib browser记载mib文件,并发送trap到本机的trap接收器 output 2020-4-9 17:46:09: TrapV2 received: { "pdu": { "type": 167, "id": 402812005, "varbinds": [ { "oid": "1.3.6.1.2.1.1.3.0", "type": 67, "value": 0 }, { "oid": "1.3.6.1.6.3.1.1.4.1.0", "type": 6, "value": "1.3.6.1.4.1.66666.3" }, { "oid": "1.3.6.1.4.1.66666.1.1.0", "type": 4, "value": { "type":

centos7.3安装cuda9.2开发套件

冷暖自知 提交于 2020-04-10 14:56:09
安装环境 centos7.3的64位版本,安装时选择的workstation选项进行的安装。cuda环境是9.2。 安装过程 安装版本选择 一开始安装的时候选择的是最新的cuda10.2套件,进行安装时候出现了很多错误,使用离线的run文件运行,在进行第一步的显卡驱动安装的时候就会失败,错误退出码是256,查询未果。又尝试使用了离线的rpm文件进行安装,完全按着文件下载页的安装步骤来,到第三步的时候就会提示安装包冲突,放弃。又尝试了使用在线的rpm包进行安装,安装过程中下载了一堆rpm包,这次倒是显示安装完了,但是执行nvidia-smi命令没有反应,放弃。。。仔细看了cuda10.2的安装文档,发现cuda10.2需要centos7.7的操作系统才能安装。 准备工作 整个cuda的安装过程总体说很简单,选择的时候一路y和默认下来就可以。比较复杂的是安装前的准备工作:设置系统以命令行模式启动(关掉图形界面),禁用系统自带的nouveau驱动。 设置系统以命令行启动 临时设置一次命令行模式启动: init 3 将系统默认启动模式都设置为命令行模式启动,需要设置系统参数: systemctl set-default multi-user.target 禁用nouveau系统驱动 首先可以使用命令 lsmod |grep nouveau 查看是否有程序依赖运行nouveau驱动

按需分配、任务隔离、灵活控制,飞桨显存分配策略重磅升级

拥有回忆 提交于 2020-03-18 20:32:16
3 月,跳不动了?>>> 虽然GPU对深度学习计算有普遍明显的加速作用,但其显存也是有限的(如V100的最大显存值也仅有32G),而深度学习模型的训练和推理往往需要大量的显存,用来支持更大的模型和更大的batch size。如何更高效地利用GPU显存,在一张卡或一台机器上同时承载更多的训练和预测任务,让有限的显存支持多个开发者同时进行实验,执行各自的任务呢? 飞桨v1.7在GPU显存使用策略方面做了如下3点升级: 默认使用显存自增长AutoGrowth策略,根据模型实际占用的显存大小, 按需自动分配显存 ,并且不影响训练速度。在模型实际占用显存不多的情况下,同一张GPU卡可以同时运行多个深度学习训练/预测任务。 支持限制任务的最大显存策略,每个任务只能在限定的显存量下运行, 实现同一张GPU卡多个任务间的显存隔离 。 默认使用Lazy显存分配方式。只有GPU卡工作时才自动分配显存, 实现不同GPU卡上的任务的相互隔离 ,可以在一台机器上实现更灵活的任务排布。 这三种显存策略在飞桨是如何实现的?下面我们走进飞将框架一探究竟。 01 AutoGrowth实现显存按需分配,且不影响训练速度 1.7版本之前,飞桨默认是显存预分配策略(缺省比例是可用显存的92%),该策略在实现上是比较高效的,但是预分配比例的设置是一个比较头疼的事情。如果采用92%的缺省配置,可以保证大部分情况下任务成功分配

NVIDIA-SMI系列命令总结

风格不统一 提交于 2020-03-04 05:21:25
转载自: https://blog.csdn.net/handsome_bear/article/details/80903477 文章目录 1 NVIDIA-SMI介绍 2 NVIDIA-SMI命令系列详解 2.1 nvidia-smi 2.2 nvidia-smi -q 2.3 设备修改选项 2.4 nvidia-smi dmon 2.5 nvidia-smi pmon 2.6 [nvidia-smi实时刷新并高亮显示状态](https://www.cnblogs.com/haiyang21/p/7725469.html) 1 NVIDIA-SMI介绍 nvidia-smi 简称 NVSMI,提供监控GPU使用情况和更改GPU状态的功能,是一个跨平台工具,它支持所有标准的NVIDIA驱动程序支持的Linux发行版以及从WindowsServer 2008 R2开始的64位的系统。该工具是N卡驱动附带的,只要安装好驱动后就会有它。 Windows下程序位置:C:\Program Files\NVIDIACorporation\NVSMI\nvidia-smi.exe。 Linux下程序位置:/usr/bin/nvidia-smi,由于所在位置已经加入PATH路径,可直接输入nvidia-smi运行。 2 NVIDIA-SMI命令系列详解 2.1 nvidia-smi

PyCharm + Docker + GPUs

扶醉桌前 提交于 2020-02-27 02:50:20
1.docker运行命令: docker run --runtime=nvidia -dit --name=my-develop --publish=39822:22 --volume=/home/my/remote_develop:/remote_develop --restart=always euleros-cuda-py373:0.1.0 /bin/bash docker exec -it my-develop /bin/bash #【ctrl】+【p】 【ctrl】+【q】 (皮球pi_qiu)退出 2.测试GPU: # 进入镜像 nvidia-docker run -it mxnet/python:gpu bash #执行python python import mxnet as mx a = mx.nd.ones((2, 3), mx.gpu()) b = a * 2 + 1 b.asnumpy() 参考资料: https://zhuanlan.zhihu.com/p/27114995 https://blog.51cto.com/5249302/2359420 深度学习环境配置docker+pycharm+GPU ttps://blog.csdn.net/Ryanpinwei/article/details/78806052 https://cloud

GPU服务器故障诊断

混江龙づ霸主 提交于 2020-02-25 18:57:27
1. GPU日志收集 安装GPU驱动的系统下,任意目录下执行命令: nvidia-bug-report.sh 执行命令后,当前目录下会生成日志压缩包: nvidia-bug-report.log.gz 2. GPU基础状态检测 对于GPU服务器建议客户维持较新的GPU驱动版本、禁用nouveau模块、打开GPU驱动内存常驻模式并配置开机自启动。 对于GPU服务器,建议以下进行以下配置: 维持较新的、正确的GPU驱动版本 禁用nouveau模块 打开GPU驱动内存常驻模式并配置开机自启动 处理GPU服务器故障时,只要涉及服务器关机的操作,均建议对GPU基础状态进行检测,基础状态检测包括: nouveau模块是否禁用、GPU识别情况、GPU驱动内存常驻模式、GPU 带宽、GPU ECC报错、GPU ERR报错、GPU nvlink状态。 2.1 nouveau 模块禁用检查 Nouveau是由一群开发人员构建的Nvidia显卡的开源驱动程序,会与nvidia官方GPU驱动发生冲突, 需要在系统下禁用nouveau模块 。 # 以下命令没有任何输出表示nouveau模块已经禁用 [root@zj ~]# lsmod | grep -i nouveau # 以下输出表示nouveau模块没有禁用 [root@zj ~]# lsmod | grep -i nouveau nouveau

GPU服务器故障诊断

廉价感情. 提交于 2020-02-25 18:57:22
1. GPU日志收集 安装GPU驱动的系统下,任意目录下执行命令: nvidia-bug-report.sh 执行命令后,当前目录下会生成日志压缩包: nvidia-bug-report.log.gz 2. GPU基础状态检测 对于GPU服务器建议客户维持较新的GPU驱动版本、禁用nouveau模块、打开GPU驱动内存常驻模式并配置开机自启动。 对于GPU服务器,建议以下进行以下配置: 维持较新的、正确的GPU驱动版本 禁用nouveau模块 打开GPU驱动内存常驻模式并配置开机自启动 处理GPU服务器故障时,只要涉及服务器关机的操作,均建议对GPU基础状态进行检测,基础状态检测包括: nouveau模块是否禁用、GPU识别情况、GPU驱动内存常驻模式、GPU 带宽、GPU ECC报错、GPU ERR报错、GPU nvlink状态。 2.1 nouveau 模块禁用检查 Nouveau是由一群开发人员构建的Nvidia显卡的开源驱动程序,会与nvidia官方GPU驱动发生冲突, 需要在系统下禁用nouveau模块 。 # 以下命令没有任何输出表示nouveau模块已经禁用 [root@zj ~]# lsmod | grep -i nouveau # 以下输出表示nouveau模块没有禁用 [root@zj ~]# lsmod | grep -i nouveau nouveau

ubuntu18.04 install NVIDA DRIVER, CUDA, CUDNN

筅森魡賤 提交于 2019-12-30 19:29:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> NVIDIA DRIVER sudo apt-get update sudo apt-get install git cmake build-essential vim sudo vim /etc/modprobe.d/blacklist-nouveau.conf blacklist nouveau options nouveau modeset=0 sudo update-initramfs -u sudo reboot Ctrl+Alt+F3 tty3 sudo chmod a+x NVIDIA-Linux-x86_64-440.44.run sudo ./NVIDIA-Linux-x86_64-440.44.run --no-opengl-files sudo vim ~/.bashrc export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH nvidia-smi CUDA sudo shcuda_10.2.89_440.33.01_linux.run --no-opengl-libs accept [ ]

Linux下实时查看GPU状态

混江龙づ霸主 提交于 2019-12-29 08:09:22
Linux下查看GPU 信息可以用过 英伟达的 nvidia-smi 工具来实现。 终端执行 $ nveidia-smi 打印信息如下: 想要连续打印,可以通过 watch 指令来实现。 终端执行 $ watch -n 1 nvidia-smi 可以每1秒更新一次显示数据。 来源: 51CTO 作者: zhaobaoxin123 链接: https://blog.51cto.com/codemaid/2068832