作者:京东科技 徐传乐背景在高并发下,Java程序的GC问题属于很典型的一类问题,带来的影响往往会被进一步放大。不管是「GC频率过快」还是「GC耗时太长」,由于GC期间都存在Stop The World问题,因此很容易导致服务超时,引发性能问题。事情最初是线上某应用垃圾收集出现Full GC异常的现象,应用中个别实例Full GC时间特别长,持续时间约为15~30秒,平均每2周左右触发一次;JVM
Read More
moregeek program
ubuntu20.04 + virtualbox相关-多极客编程
目录教程添加用户和用户组安装SSHapt换源pip换源升级Python开启远程桌面(windows连接,desktop版ubuntu)升级CMake3.22安装Samba安装Mosquitto MQTT安装EMQX MQTT安装Redis安装LAMP安装typecho安装g20
Read More
Read More
docker 基础和常用命令_嵌入式视觉的博客-多极客编程
一,Docker 简介
1.1,什么是 Docker
1.2,Docker 与虚拟机的区别
1.3,Docker 架构
1.4,为什么用 Docker
二,Docker 基本概念
2.1,镜像
2.2,容器
2.3,仓库
三,Docker 使用
3.1,Docker 服务
3.2,下载与使用Docker公共镜像(Images)
四,Docker 镜像命令
五,Docker 容器
Read More
Read More
mac上通过visualbox安装linux相关网络问题总结_没有杂草的花园的博客-多极客编程
结合我自己遇到的一些问题来聊一下vbox上面的一些网络配置的问题
1、主机一直连不上虚拟机
2、电脑一断网就会出现连不上虚拟机
3、虚拟机无法访问外网
先看虚拟机的网络设置页面
1、网络分类
主要有以下几种,针对每种我们都做一个解释
1、NAT(网络地址转换)
2、桥接网卡
3、内部网络
4、Host-Only网络
5、通用驱动
6、NAT网络
7、Cloud NetWork【EXPERIMENT
Read More
Read More
jvm虚拟机(整体架构、类文件结构)我来了~~~_博学谷狂野架构师的博客-多极客编程
虚拟机
1.1 发展历程
1.1.1 java往事
Java诞生在一群懒惰、急躁而傲慢的程序天才之中。
1990年12月,Sun的工程师Patrick Naughton被当时糟糕的Sun C++工具折磨的快疯了。他大声抱怨,并威胁要离开Sun转投当时在Steve Jobs领导之下的NeXT公司。领导层为了留住他,给他一个机会,启动了一个叫做Stealth(秘密行动)的项目。
随着
Read More
Read More
jdk中自带的jvm分析工具_知了一笑的博客-多极客编程
内存溢出,妥妥的名场面;
一、业务背景
对于分布式架构中的文件服务来说,由于涉及大量的IO流操作,很容易引发JVM的相关异常,尤其是内存溢出的问题;
在最近的一次版本迭代中,真实的业务处理场景和上述几乎一致,由于在文件服务中添加批量处理的动作,直接唤醒了隐藏许久的BUG,就是最常见的内存溢出;
问题的起因:在word文档完成内容识别后,转换为pdf文件,然后进行页面分割转为一组图片,在这个复
Read More
Read More
虚拟机内存管理之内存分配器_字节跳动终端技术的博客-多极客编程
小编:本文由 WebInfra 团队姚忠孝、杨文明、张地编写。意在通过深入剖析常用的内存分配器的关键实现,以理解虚拟机动态内存管理的设计哲学,并为实现虚拟机高效的内存管理提供指引。
在现代计算机体系结构中,内存是系统核心资源之一。虚拟机( VM )作为运行程序的抽象"计算机",内存管理是其不可或缺的能力,其中主要包括如内存分配、垃圾回收等,而其中内存分配器又是决定"计算机"内存模型,以及高效内
Read More
Read More
win系统安装自带虚拟机(windows sandbox) 自定义启动并自动打开微信_wx62fdb143b7109的博客-多极客编程
windows 沙盒(Windows sandbox)一次性虚拟机,它将为用户建立一个隔离并且安全的桌面环境,防止一些恶意软件运行,而造成系统问题。每次打开yige都是一个新的虚拟机,每次删除都会清空所有数据。
安装
安装必须是windows系统专业版,我的是win11家庭版通过某宝升级专业版,才可以安装
1.win+s 打开控制面板
2.进入控制面板界面,点击“程序”
3.进入程序界面,
Read More
Read More
OpenStack Train(三):业务组件keystone安装-多极客编程
标签(空测试用例格分隔):OpenStack Train 系列
一:keystone 组件
1.1. keystone 概述
keystone 是 OpenStack 的身份认证服务(Identity Service),OpenStack 中的认证、鉴权、角色管理都是由 keystone 来完成,同时还提供服务目录注册功
能。keystone 是一个关键服务,同时也是安装 Openstack 时第
Read More
Read More
VMWare 卡顿优化详解-多极客编程
速度优化
VMware 虚拟机运行缓慢,用一段时间后虚拟系统变卡,本文主要从硬件、配置、系统上给出优化的方案
一、硬件(土豪适用)
SSD固态硬盘
将虚拟机系统安装到SSD上,其他工作的文件通过挂载本地磁盘进行,操作见备注。
内存
系统运行缓慢,跟运行内存也有关系,增加运行内存,可以在原有的运行内存基础上实现双通道,提高速度,注意事项见备注。
备注
以下操作均需要在虚拟机关闭的情况下运行
Read More
Read More
【Azure】【VM】PowerShell 批量创建VM-多极客编程
登录Azure ChinaAzure ChinaConnect-AzAccount -Environment AzureChinaCloud登录Azure GlobalAzure GlobalConnect-AzAccount指定订阅ID:可在Azure Portal 订阅中查询查询Azure市场VM映像信息:根据本次测试需要创建VM的镜像,通过以下命令查询镜像的相关信息(后续脚本中需要)。大家
Read More
Read More
第12篇-认识CodeletMark-多极客编程
InterpreterCodelet依赖CodeletMark完成自动创建和初始化。CodeletMark继承自ResourceMark,允许自动析构,执行的主要操作就是,会按照InterpreterCodelet中存储的实际机器指令片段分配内存并提交。这个类的定义如下:
class CodeletMark: ResourceMark {
private:
InterpreterCodele
Read More
Read More
第9篇-字节码指令的定义-多极客编程
之前的文章介绍了解释执行下的Java栈帧创建以及字节码分派逻辑,但是始终没有讲到虚拟机到底是怎么执行Java方法中的字节码的,在介绍字节码的执行之前,需要先知道字节码指令的定义。在Bytecodes::initialize()函数中会定义字节码指令的一些属性。这个函数的调用链如下:
init_globals()
bytecodes_init()
Bytecodes::initialize()
在
Read More
Read More
第8篇-dispatch_next()函数分派字节码-多极客编程
在generate_normal_entry()函数中会调用generate_fixed_frame()函数为Java方法的执行生成对应的栈帧,接下来还会调用dispatch_next()函数执行Java方法的字节码。generate_normal_entry()函数调用的dispatch_next()函数之前一些寄存器中保存的值如下:
rbx:Method*
ecx:invocation cou
Read More
Read More
第7篇-为Java方法创建栈帧-多极客编程
在 第6篇-Java方法新栈帧的创建 介绍过局部变量表的创建,创建完成后的栈帧状态如下图所示。
各个寄存器的状态如下所示。
// %rax寄存器中存储的是返回地址
rax: return address
// 要执行的Java方法的指针
rbx: Method*
// 本地变量表指针
r14: pointer to locals
// 调用者的栈顶
r13: s
Read More
Read More
第6篇-Java方法新栈帧的创建-多极客编程
在 第2篇-JVM虚拟机这样来调用Java主类的main()方法 介绍JavaCalls::call_helper()函数的实现时提到过如下一句代码:
address entry_point = method->from_interpreted_entry();
这个参数会做为实参传递给StubRoutines::call_stub()函数指针指向的“函数”,然后在 第4篇-JVM终于开始调
Read More
Read More
虚拟机中的系统安装文件移动注意事项-多极客编程
概述:近期把办公室电脑中虚拟机的2003系统安装文件整体拷贝到了笔记本上,用笔记本的虚拟机打开时却发现2003系统中的数据库打不开了,双击SQLserver managerment studio后没有任何反应,查看服务,启动SQL Server (MSSQLSERVER)服务时提示: 而且所安装的用友和金蝶登录时提示:U8的加密服务也无法启动: 思考:1、当时拷贝时是把2003系统在物理机上的安装
Read More
Read More
VM 快照和克隆的区别-多极客编程
快照,就是保存现有系统的一个状态。快照做好后保存,如果想使用或者正在使用的系统损坏或不能正常运行,就可以直接转到此状态,相当于为系统的某一状态做了一个备份,系统坏了后就可以直接恢复到原来的状态。比如新装了XP系统,还是干净的,什么也程序和软件也没有安装,我就可以为这个纯净的系统做一个快照,保存了系统干净状态。然后我在纯净系统中安装搜狗和杀毒软件,然后再做一个快照,如果我的安装了搜狗和杀毒软件的系统
Read More
Read More
centos6下KVM安装支持kickstart-多极客编程
准备CPU支持kvm安装CentOS6.4关闭Selinux关闭iptables或者打开相应的端口,vnc需要用到源,需要用到epel源在Centos下检查cpu是否支持VT,没Ubuntu那么方便,输入下面命令,有内容输出,就表示支持,没任何显示,表明不支持。egrep '(vmx|svm)' --color /proc/cpuinfo查看Selinux状态# sestatusSELinux s
Read More
Read More
MacVTap-多极客编程
原文:http://virt.kernelnewbies.org/MacVTap目的Macvtap是一个新的设备驱动程序,旨在简化虚拟化的桥接网络。它取代基于macvlan设备驱动模块的TUN / TAP和桥驱动器的组合。一个macvtap终点(endpoint)是一个字符设备,主要遵循的TUN / TAP ioctl接口,可以直接使用KVM/ qemu和其他支持TUN / TAP接口的虚拟机管理
Read More
Read More