Ubuntu 20.04 启用休眠(Hibernate)配置过程

Ubuntu 20.04 启用休眠(Hibernate)配置过程

最近经常带笔记本回家工作,每次都需要先关闭打开的虚拟机、资料文档和开发环境,回家之后再打开,特别繁琐,所以研究了下Ubuntu 20.04(20.10)如何配置休眠模式。

基础

广义来讲,在Linux中支持三种睡眠模式,分别是:

  • Suspend to RAM,即狭义的挂起(Suspend),本文后面提到挂起都是指这种模式。

  • Suspend to Disk,即我们常说的休眠(Hibernate)。

  • Suspend to Both,也被称作Hybrid Suspend,是上面两种模式的混合,兼具两种模式的优点(和缺点)。

Ubuntu桌面版默认只有挂起(Suspend)模式,没有启用休眠(Hibernate)模式。

挂起和休眠的目标都是保存冻结系统当前状态,后续需要时“快速”唤醒恢复,但是两者的实现方式是不同的。

阅读更多
Linux OOM Killer

Linux OOM Killer

今天介绍一个跟公众号名字很相关的Linux内存管理机制。

概念

在软件故障中,Out-Of-Memory(OOM,系统可用内存不足)是最古老的故障之一,并且一直延续至今。

在早期的计算机系统中,内存小到以kb为单位,那时的程序员要精细的计算每一条指令的内存使用量,犹如在钢丝绳上表演杂技,稍有不慎就会出现内存不足导致软件或操作系统崩溃,但是即使限制那么苛刻,依然产生了许多伟大的软件,这也是这个公众号的名字由来。

即使今天的家用计算机内存已经至少8G起步,操作系统上运行的软件也会遇见OOM错误,Linux为了避免系统内存不足导致整个系统不可用,建立了一套OOM管理机制。

Linux的OOM管理机制会检测可用内存,在内存不足故障发生时选择性的杀死一个或者几个进程以释放内存,而执行这一任务的进程就被称作Linux Out-Of-Memory(OOM) Killer。

阅读更多
Open Source Load Testing Tool Review 2020

Open Source Load Testing Tool Review 2020

Ragnar Lönn, 04 MARCH 2020

原文地址:https://k6.io/blog/comparing-best-open-source-load-testing-tools

摘要

今年想在DevOps平台上集成一些性能测试的工具,方便开发团队自助进行性能测试,调研了一些工具,分享其中一篇文章。

这篇文章的作者分别在17年和20年对市面上的性能测试工具进行了详细的比较和评测,内容非常翔实,他自己也是其中k6工具的作者。

文中参与评测的12款工具的清单如下:

1
2
3
4
5
6
7
8
9
10
11
12
Apachebench 2.3
Artillery 1.6.0
Drill 0.5.0 (new)
Gatling 3.3.1
Hey 0.1.2
Jmeter 5.2.1
k6 0.26.0
Locust 0.13.5
Siege 4.0.4
Tsung 1.7.0
Vegeta 12.7.0
Wrk 4.1.0

文章主要关注众多测试工具的两方面内容:一是性能表现如何,二是易用性如何。

阅读更多
Guide to UUID in Java

Guide to UUID in Java

by baeldung

原文地址:https://www.baeldung.com/java-uuid

最近没怎么写代码,简单复习一下Java的UUID知识点吧,原文来自于baeldung,这个网站有很多Java语言的技巧,经过我长期观察,内容相对各种中文博客是严谨靠谱很多的,可以日常看看,巩固知识。

1.概览

Java中的UUID是一个128bit的值,通常用十六进制数字加”-“字符表示为长度36位的字符串,例如123e4567-e89b-12d3-a456-556642440000,因为128bit是16字节,而一个字节可以表示为2个十六进制字符,”-“符号纯粹是为了可读性添加的,不实际存储于数据中。

UUID广泛用于表示全局唯一值的场景,但是并不是完全不会重复,只是重复的概率较小,在数据量较大和多服务器环境中要注意UUID可能出现重复。

阅读更多
Maximizing Developer Effectiveness Review

Maximizing Developer Effectiveness Review

Tim Cochran, 06 January 2021

原文地址:https://martinfowler.com/articles/developer-effectiveness.html

背景

这篇文章是一系列文章的开篇,作者观察到许多企业在引入新技术后,开发者的效能不增反降,作者认为这是由于新技术的复杂性和认知负担导致的。

通过研究,作者识别了开发者的关键反馈回路(key developer feedback loops),包括开发者每天重复200次的微反馈回路(micro-feedback loops),本系列文章试图引入一个最大化开发者效能的框架,通过优化这些回路提高开发者效能。

阅读更多
OutOfMemory的Kafka学习笔记(1)

OutOfMemory的Kafka学习笔记(1)

背景

Kafka是Apache的顶级消息中间件项目,因为强大的处理能力,被广泛应用于大数据处理和日志采集等领域,发展的前景非常好。

我希望通过对Kafka的学习,深入了解流式数据处理的基本原理,为深入大数据领域的工作奠定基础。

同时也希望能够在金融业务处理中借鉴或引入相关思想和技术。

目标

  • 理解Kafka的原理、架构和关键处理机制
  • 掌握构建、部署和管理Kafka集群的技术
  • 掌握Kafka的参数配置和应用编程
  • 熟悉Kafka关键处理模块的源码
  • 为Kafka开源项目贡献力量
阅读更多

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
hexo new "My New Post"

More info: Writing

Run server

1
hexo server

More info: Server

Generate static files

1
hexo generate

More info: Generating

Deploy to remote sites

1
hexo deploy

More info: Deployment

微信扫一扫关注公众号