202205-27 一篇文章学会java死锁与CPU 100%的排查 目录00本文简介01Java死锁排查和解决1、啥是死锁?2、为啥子会出现死锁?3、怎么排查代码中出现了死锁?【重点来了】第一个姿势:使用jps+jstack第二个姿势:使用jconsole第三个姿势:使用JavaVisualVM4、如何避免死锁?02、JavaCPU100%排查技巧第一个姿势,步骤有点多,难度四星第二个姿势,待开发[奸笑脸]03推荐两个高效排查问题工具04总结05彩蛋-另一个姿势00本文简介作为一名搞技术的程序猿或者是攻城狮,想必你... 继续阅读 >
202109-29 服务器大量php-cgi.exe进程导致CPU占用100%的解决方法 windows2003+IIS6中优化fastcgi配置文件fcgiext.ini,减少php-cgi.exe进程数量和所占内存大小本来听说fastcgi比isapi好就在服务器中装上了,配置环境为windows2003+IIS6+fastcgi(FCGI)+PHP5.2.17,经过与很长一段时间观察,发现工作在FastCGI模式下的PHP会占用越来越多的内存,访问量稍微多点php-cgi进程就多了N个,同样情况下能比原来用isapi模式的时候多出几百M,我的服务器内存只有2G伤不起啊。我在网上搜索了一下,发... 继续阅读 >
202109-29 SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用 windowsserver2019安装了SQL2016,启动sqlagent代理时候,提示“尚未定义空闲cpu条件onidle作业计划将不起任何作用”,这样会导致原来设置的数据库作业无法执行这条警告表明一个SQLServer代理设置没有配置,可能阻止某些作业运行。SSMS有日志文件查看器,切换到错误日志,展开SQLServer代理文件夹,错误日志文件夹,你会看到当前SQLServer代理的日志还有最近的日志。双击【当前】(或右击选择【查看代理日志】)你会看到SQL... 继续阅读 >
202107-17 Java多线程导致CPU占用100%解决及线程池正确关闭方式 简介情景:1000万表数据导入内存数据库,按分页大小10000查询,多线程,15条线程跑。使用了ExecutorServiceexecutor=Executors.newFixedThreadPool(15)本地跑了一段时间后,发现电脑CPU逐渐升高,最后CPU占用100%卡死,内存使用也高达80%。排查问题Debug发现虽然创建了定长15的线程池,但是因为数据量大,在For中循环分页查询的List会持续加入LinkedBlockingQueue()队列中每一个等待的任务,又加载了1万的数据。所以不管是线程... 继续阅读 >
202106-04 yolov5 win10 CPU与GPU环境搭建过程 前言最近实习任务为黑烟检测,想起了可以尝试用yolov5来跑下,之前一直都是用的RCNN系列,这次就试试yolo系列。一、安装pytorch1.创建新的环境打开AnacondaPrompt命令行输入创建一个新环境,并激活进入环境。#创建了名叫yolov5的,python版本为3.8的新环境condacreate-nyolov5python=3.8#激活名叫yolov5的环境condaactivateyolov52.下载YOLOv5github项目下载地址为:https://github.com/ultralytics/yolov5如果安装了gi... 继续阅读 >
202103-05 用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案 训练的时候当然用gpu,速度快呀。我想用cpu版的tensorflow跑一下,结果报错,这个错误不太容易看懂。大概意思是没找到一些节点。后来发现原因,用gpu和cpu保存的pb模型不太一样,但是checkpoints文件是通用的。使用tensorflow-cpu再把checkpoints文件重新转换一下pb文件就可以了。完美解决!补充:tensflow-gpu版的无数坑坑坑!(tf坑大总结)自己的小本本,之前预装有的pycharm+win10+anaconda3+python3的环境2019/3/24重新安装发... 继续阅读 >
202103-02 Pytorch如何切换 cpu和gpu的使用详解 前言,在pytorch中,当服务器上的gpu被占用时,很多时候我们想先用cpu调试下代码,那么就需要进行gpu和cpu的切换。方法1:x.to(device)把device作为一个可变参数,推荐使用argparse进行加载:使用gpu时:device='cuda'x.to(device)#x是一个tensor,传到cuda上去使用cpu时:device='cpu'x.to(device)方法2:使用x.cuda()+CUDA_VISIBLE_DEVICES很多贴子中说,使用x.cuda()和x.to('cuda')虽然是等效的,但是x.cuda()的缺点是... 继续阅读 >
202012-16 Window10上Tensorflow的安装(CPU和GPU版本) 之前摸索tensorflow的时候安装踩坑的时间非常久,主要是没搞懂几个东西的关系,就在瞎调试,以及当时很多东西不懂,很多报错也一知半解的。这次重装系统后正好需要再配置一次,把再一次的经历记录一下。我的电脑是华为的matebook13,inteli5-8625U,MX250显卡,win10系统。(不得不吐槽很垃圾,只能满足测试测试调调代码的需求)深度学习利用Tensorflow平台,其中的KerasSequentialAPI对新用户非常的友好,可以将各基础组件组合... 继续阅读 >
202011-17 线上Java程序占用CPU过高解决方案 这个问题可以说是Java面试的高频面试题了,有很多面试官都喜欢问这个问题,问题可能是下面这样的。线上一台服务器CPU使用率100%了,如果你碰到这样的情况,如何排查并找到问题原因?这就是一个套路题,所谓套路题就是有标准的套路解法的,掌握了套路,不仅能解决面试官,还能解决问题。不然真的就掉进套路里了。当我们真碰到这个问题的时候应该怎么排查呢?模拟一个高CPU场景先用一段程序创建几个线程,将其中一个线程设置... 继续阅读 >
202011-16 docker CPU限制的实现 1、--cpu=<value> 1)指定一个容器可以使用多少可用的CPU资源,但无法让容器始终在一个或某几个CPU上运行 2)例如:如果主机有2个CPU,设置--cpus="1.5",则可以报称容器醉倒容纳一半的CPU,相当于设置--cpu-period="100000"和--cpu-quota="150000"4核服务器中启动centos基础镜像,并设置使用1核CPUdockerrun-itd--cpus="1"--name=cent... 继续阅读 >
202010-13 Java进程cpu频繁100%问题解决方案 1.在一次周末收到部门的反馈,线上机器java进程的cpu会频繁100%监控系统发了很多报警邮件,于是登录跳板机进行排查解决2.使用top命令查看进程情况发现每隔个几秒cpu就达到100%左右,报警邮件确实是诚不欺我,java进程有问题2.于是查看下到底是java进程下的哪个线程造成的cpu频繁100%使用top-Hp25567查看进程下的线程信息得到线程编号262503.查看该线程的栈信息printf'%x\n'26250获取26250的16进制数为668ajstack25567|grep... 继续阅读 >
202010-10 MongoDb CPU利用率过高问题如何解决 在公司的项目中,突然出现过一个情况,mongodb的CPU利用率到达100%,导致服务器这边卡死了,请求了半天无响应,提示请求超时。因为,当时APP用户可能会在某一个时间段集中的使用,所以,请求量一下子就飙上去了,刚好APP打开请求的时候,有一个mongodb的请求。当时因为Mongodb的服务器不在我们这边,所以一下子没反应过来,不过最后还是给排除出,并解决了。这里就来记录下排查和解决的全过程。问题分析:1.根据代码,定位到了是Mo... 继续阅读 >
202010-09 torchxrayvision包安装过程(附pytorch1.6cpu版安装) torchxrayvision包安装过程(附pytorch1.6cpu版安装)torchxrayvision是一个尚待完整的包,里面有X光胸片的数据和模型,包括一些预训练模型,在利用深度学习检验新冠肺炎阴阳性时有一些作用。本机环境,anaconda3,win1064位,原python版本3.8.3配置虚拟环境同安装TensorFlow一样,我们也希望有一个独立的虚拟环境来运行pytorch,直接用conda指令配置会比较慢,这里选择更换源。condaconfig--addchannelshttps://mirrors.ustc... 继续阅读 >
202010-09 Python限制内存和CPU使用量的方法(Unix系统适用) 问题你想对在Unix系统上面运行的程序设置内存或CPU的使用限制。解决方案resource模块能同时执行这两个任务。例如,要限制CPU时间,可以像下面这样做:importsignalimportresourceimportosdeftime_exceeded(signo,frame):print("Time'sup!")raiseSystemExit(1)defset_max_runtime(seconds):#Installthesignalhandlerandsetaresourcelimitsoft,hard=resource.getrlimit(resource.RLIMIT_CPU)resource.setr... 继续阅读 >
202010-08 使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比) 禁用GPU设置#在importtensorflow之前importosos.environ['CUDA_VISIBLE_DEVICES']='-1'CPU与GPU对比显卡:GTX1066CPUGPU简单测试:GPU比CPU快5秒补充知识:tensorflow使用CPU可以跑(运行),但是使用GPU却不能用的情况在跑的时候可以让加些选项:withtf.Session(config=tf.ConfigProto(allow_soft_placement=True,log_device_placement=True))其中allow_soft_placement能让tensorflow遇到无法用GPU跑的数据时,自动切换成... 继续阅读 >
202010-08 pytorch cuda上tensor的定义 以及减少cpu的操作详解 cuda上tensor的定义a=torch.ones(1000,1000,3).cuda()某一gpu上定义cuda1=torch.device('cuda:1')b=torch.randn((1000,1000,1000),device=cuda1)删除某一变量dela在cpu定义tensor然后转到gputorch.zeros().cuda()直接在gpu上定义,这样就减少了cpu的损耗torch.cuda.FloatTensor(batch_size,self.hidden_dim,self.height,self.width).fill_(0)补充知识:pytorchcuda.FloatTensor->FloatTensor错误类型:RuntimeError:In... 继续阅读 >