2021年4月15日

linux系统资源限制ulimit

摘要: ulimit命令用来限制系统用户对shell资源的访问。如果不懂什么意思,下面一段内容可以帮助你理解: 假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设每个文档的大小有 10M,这时系统的内存资源就会受 阅读全文

posted @ 2021-04-15 23:52 ExplorerMan 阅读(197) 评论(0) 推荐(0) 编辑

分析golang内存占用情况

摘要: 性能优化是个永恒的话题,而很多时候我们在作性能优化的时候,往往基于代码上面的直觉,把所有能想到的优化都优化了一遍,不错过任何小的优化点,结果整个代码的逻辑变得极其复杂,而性能上面并没有太大的提升。事实上,性能问题往往集中在某些小点,有时候很小的改动就能有巨大的提升,所以问题的关键是是怎么去找出这些优 阅读全文

posted @ 2021-04-15 23:49 ExplorerMan 阅读(1245) 评论(0) 推荐(0) 编辑

Golang中sync.Map的实现原理

摘要: 前言前面,我们讲了map的用法以及原理Golang中map的实现原理,但我们知道,map在并发读写的情况下是不安全。需要并发读写时,一般的做法是加锁,但这样性能并不高,Go语言在 1.9 版本中提供了一种效率较高的并发安全的 sync.Map,今天,我们就来讲讲 sync.Map的用法以及原理 使用 阅读全文

posted @ 2021-04-15 23:47 ExplorerMan 阅读(624) 评论(0) 推荐(0) 编辑

golang实现控制cpu使用率

摘要: package main import ( "runtime")func main() { runtime.GOMAXPROCS(3) go task() go task() select{}}func task(){ a := 100 for { a += 1 }}上面代码正常情况下会使cpu使用 阅读全文

posted @ 2021-04-15 11:09 ExplorerMan 阅读(1048) 评论(0) 推荐(0) 编辑

golang下Map的使用和性能分析(勿滥用锁)

摘要: golang 中 map 性能优化[低阶] 简单介绍 golang 中的 build-in 的 map 这个 map 是非线程安全的,但是也是最常用的一个家伙。 为了测试多个 map 的性能我写了个接口 Map type Map interface { Set(key string, val int 阅读全文

posted @ 2021-04-15 00:32 ExplorerMan 阅读(941) 评论(0) 推荐(0) 编辑

golang结构体方法指针

摘要: 结构体方法指针 package main import "fmt" type SA struct { name string} func (o *SA) SetName(n string) { o.name = n} func (o SA) SetNameA(n string) { o.name = 阅读全文

posted @ 2021-04-15 00:20 ExplorerMan 阅读(85) 评论(0) 推荐(0) 编辑

导航