背景上午11点左右,监控系统突然发出来一个告警,分布式数据库的某个代理节点(Java编写)连接失败率100%,每次都是超时,赶紧登上后台去查看问题分析一、查看系统指标top命令查看一些基础指标,cpu使用率不高,内存一直都是80%左右,io,网络都没问题top -Hp Java进程的pid,查看进程内的情况,1786个sleep状态的线程赶紧jstack了一份线程信息,发现很多线程都阻塞在了Arr
转载 2023-09-01 10:45:53
69阅读
# 实现 Redis 锁 ## 概述 在分布式系统中,为了保证数据的一致性,我们经常使用 Redis 锁来实现并发控制。然而,有时候会遇到一个问题,即锁在某些情况下无法释放,导致死锁。这种情况下,我们需要实现 Redis 锁的死机制,以便在锁未正常释放时进行手动干预。 ## 流程 下面是实现 Redis 锁的基本流程,我们可以用表格来展示每个步骤: | 步骤 | 描述 | |--
原创 2024-01-31 05:11:21
23阅读
## 实现Redisson lock教程 ### 一、流程 下面是实现Redisson lock的步骤表格: | 步骤 | 操作 | | ------ | ------ | | 1 | 获取Redisson实例 | | 2 | 创建锁对象 | | 3 | 尝试加锁 | | 4 | 执行业务逻辑 | | 5 | 释放锁 | ### 二、详细操作步骤 #### 步骤1:获取Redis
原创 2024-03-04 05:44:33
112阅读
# Android VM的原因与解决方案 在Android开发中,开发者常常会遇到“VM”的问题。这一现象通常意味着Android虚拟机(Dalvik或ART)在执行程序时失去了响应,这对应用的用户体验和稳定性都有很大的影响。本文将探讨Android VM的原因、如何诊断、以及一些解决方案。 ## 什么是Android VM? “VM”通常表现为应用程序无响应(ANR),
原创 2024-08-06 12:32:11
48阅读
df -h 卡死的情况,那是因为无法统计挂载的目录的大小 一般是因为还挂载了一些外部的目录,如nfs的目录 可以用mount | column -t 命令查看哪些目录 然后umount这些目录, 一般情况下,得先重新连接上,才能umount掉。
转载 2017-08-15 11:17:00
343阅读
2评论
# 如何实现 MySQL 日志 在数据库管理过程中,监控及记录系统的运行状态是十分重要的,尤其是在调试和故障排除时。MySQL 提供了多种方式来记录运行状态和错误信息,其中之一便是日志(也称为慢查询日志)。本文将为你详细介绍如何在 MySQL 中实现日志的设置和查看。 ## 整体流程 以下是实现 MySQL 日志的整体流程。我们将把该过程分解为若干个步骤,以便更加清晰地理解。
原创 2024-09-20 07:05:20
16阅读
一:背景 1. 讲故事 前天有位粉丝朋友在后台留言让我帮忙看看他的 Winform程序 UI无响应 + 410线程 到底是啥情况,如下图: 说实话,能看到这些真实案例我是特别喜欢的???????????? ,就像医生看病,光停留在理论和那些 demo 上,那是没有前途的,如果有朋友在这块搞不定的话,我可以免费帮你解读 dump,再附送一篇博客详述。 好了,言归正传,既然粉丝朋友已经提到了高达 4
转载 2021-09-14 11:43:50
337阅读
在发送数据前,程序会记录当前时间,并在每次循环中计算已经过去的时间,如果超过预设的超时时间
解引用NULL指针为什么会出错,导致程序?或者说访问内存地址为0的位置为什么会视为非法?先了解NULL参考《NULL,0,'\0'有何区别?》。解引用NULL解释问题之前,先描述问题。请看下面的代码:#include<stdio.h>int main(void){    char *p = NULL;    char c = *p;    return 0;}运行:Segmenta
转载 2021-03-09 19:54:56
416阅读
守望先生 嵌入式Linux 2020-01-10来源:公众号【编程珠玑】作者:守望先生ID:shouwangxiansheng解引用NULL指针为什么会出错,导致程序?或者说访问内存地址为0的位置为什么会视为非法?先了解NULL参考《NULL,0,'\0'有何区别?》。解引用NULL解释问题之前,先描述问题。请看下面的代码:#include<stdio.h>int main(voi
转载 2021-03-23 10:18:52
333阅读
  先了解NULL   解引用NULL 解释问题之前,先描述问题。请看下面的代码: #include<stdio.h> int main(void) {     char *p = NULL;     char c = *p;     return 0; } 运行: Segmentation fault 为什么会出现这样的错误呢?解释这个问题之前,先简单了解以下程序地址空间布局。
# 解决Redisson锁问题 在使用Redisson分布式锁时,有时候会出现锁的情况,即锁没有被正确释放,导致其他线程无法获取锁。这种情况需要及时处理,否则会影响系统的正常运行。本文将介绍如何解决Redisson锁的问题,并提供代码示例。 ## 问题分析 当一个线程在获取锁之后发生异常、崩溃或网络中断等情况时,可能会导致锁没有被正确释放,从而造成锁的情况。这时其他线程无法获
原创 2024-06-09 03:34:48
225阅读
 如何使用vmstat命令监视 CPU 的使用情况如何使用vmstat命令监视 CPU 的使用情况内容提要:CPU 处理单元是系统中最快的组件。在某一时间对单个程序来说,相对很少保持 100% 的 CPU 占用率(也就是说,空闲 0% ,等待 0% )超过几秒钟。甚至在高负载的多用户系统中,偶尔会出
背景描述 操作系统:VxWorks 5.5 CPU:MIPS32 74Kc内核CPU 现象描述:联调代码时发现应用层代码调用以下接口函数必现任务,检查代码发现入参均合法,代码逻辑没问题,未发现异常。 /*********************************************** ...
转载 2021-07-26 23:47:00
1194阅读
2评论
# 在Python中实现recvfrom的过程 在网络编程中,`recvfrom`是一个非常常用的函数,它用于接收UDP数据包。对于刚入行的小白而言,理解如何处理网络套接字,以及知道如何使`recvfrom`函数“”(即在没有数据到达时,一直等待接收数据)是很基础且重要的技能。本文将帮助你了解整个流程,并提供代码示例,让你能够自己实现这个过程。 ## 流程概述 我们将整个过程分为以下
原创 8月前
55阅读
安装HBase下载HBase    Hbase 下载地址:Apache DownloadsHbase 配置ZBMAC-2f32839f6:server yangyanping$ tar zxvf hbase-2.3.5-bin.tar.gz ZBMAC-2f32839f6:server yangyanping$ cd hbase-2.3.5 ZBMAC-2f32839f6:hb
转载 10月前
70阅读
查找/var/log/messages,发现有错误信息:XFS: possible memory allocation deadlock in kmem_alloc (mode:0x250)查找linux内核,搜索"kernel: XFS: possible memory allocation deadlock in kmem_
问题的症状 从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是过段时间又会来。而且,这个问题在测试环境里可能很难重现。 我们简单的
# Java的ProcessBuilder执行命令后问题解析 在Java中,`ProcessBuilder`是一个用于创建和管理操作系统进程的强大工具。很多开发者使用它来执行系统命令,例如调用外部应用程序或执行脚本。然而,在某些情况下,使用`ProcessBuilder`执行命令后,程序可能会出现的情况。这篇文章将分析这一问题的原因,并提供解决方案和代码示例。 ## ProcessBu
原创 8月前
55阅读
## 如何实现K8S线程池 ### 关键概念 在Kubernetes(K8S)集群中,线程池是用来管理线程的一种机制,用于限制同时执行的任务数量。当线程池中的任务量超过其承载能力时,可能会导致线程的情况,即任务无法执行或执行速度缓慢。为了避免线程池,我们可以通过一些手段来优化线程池的配置。 ### 实现步骤 下面是实现K8S线程池的步骤概述: | 步骤 | 操作 | | --
原创 2024-04-08 11:21:10
57阅读
  • 1
  • 2
  • 3
  • 4
  • 5