九维我操你爹
说到打开手机里任何一个 app 就会随机进入到淘宝、京东、拼多多里任意一个这事
在我还穷到买不起 iPhone 的时候(迫真),国内常用的 app 我都是扔到非常便宜的垃圾备用机上做物理隔离的
可能是安卓手机太过廉价,粗制滥造的原因,我居然一次也没有触发摇一摇检测然后无意间打开上述的 APP
不过自从为了去日本旅游特意买了一台二手 iPhone 之后,为了充分实现废物——不是,价值最大化,我开始把备用机上那些中国特色的 APP 都转移过去
这之后我终于体会到了面对开屏广告如临深渊如履薄冰的感觉。作为一名中国人,我的生命终于完整了
苹果手机的传感器还是好啊👍
在我还穷到买不起 iPhone 的时候(迫真),国内常用的 app 我都是扔到非常便宜的垃圾备用机上做物理隔离的
可能是安卓手机太过廉价,粗制滥造的原因,我居然一次也没有触发摇一摇检测然后无意间打开上述的 APP
不过自从为了去日本旅游特意买了一台二手 iPhone 之后,为了充分实现废物——不是,价值最大化,我开始把备用机上那些中国特色的 APP 都转移过去
这之后我终于体会到了面对开屏广告如临深渊如履薄冰的感觉。作为一名中国人,我的生命终于完整了
苹果手机的传感器还是好啊👍
帮 BentoML 和 @frostming 查社区一个内存泄漏的问题
https://github.com/bentoml/BentoML/issues/4760
基本上可以确定是 glibc malloc 的老问题。我懒得写更详细的 trace 脚本了,就直接聊聊这个经典的 Python 问题吧
这个问题的核心是 glibc malloc 的 free 不会直接将内存归还给系统,而是会试图 Merge 成一个 big chunk 归还,但是这里存在一个问题,如果分配的内存过于碎片化导致无法 merge 成一个连续的 big chunk ,那么内存虽然被 free 了但是依旧没有归还给系统。这就是内存泄漏
Python 自己封装了一套内存分配器来试图解决问题。解决方式是直接调用 munmap 来强制归还,FYI https://github.com/python/cpython/blob/main/Objects/obmalloc.c#L380-L395
而且 CPython 提供了自己封装的 allocator 接口给扩展用
但是问题在这,扩展不一定会用,也有很大概率是 malloc/free 直接调用,那么又回到了最开始的情况
解决方案常见的三种
1. let it crash,上 memory limit,挂了重拉(什么 cloud native
2. ctype binding glibc ,然后 malloc_trim 定时调用
3. 换用 tcmalloc 或者 jemalloc(我自己常用 tcmalloc (LD_PRELOAD 直接换
其余社区的一些反馈 https://github.com/protocolbuffers/protobuf/issues/10088#issuecomment-1587627538
https://github.com/bentoml/BentoML/issues/4760
基本上可以确定是 glibc malloc 的老问题。我懒得写更详细的 trace 脚本了,就直接聊聊这个经典的 Python 问题吧
这个问题的核心是 glibc malloc 的 free 不会直接将内存归还给系统,而是会试图 Merge 成一个 big chunk 归还,但是这里存在一个问题,如果分配的内存过于碎片化导致无法 merge 成一个连续的 big chunk ,那么内存虽然被 free 了但是依旧没有归还给系统。这就是内存泄漏
Python 自己封装了一套内存分配器来试图解决问题。解决方式是直接调用 munmap 来强制归还,FYI https://github.com/python/cpython/blob/main/Objects/obmalloc.c#L380-L395
而且 CPython 提供了自己封装的 allocator 接口给扩展用
但是问题在这,扩展不一定会用,也有很大概率是 malloc/free 直接调用,那么又回到了最开始的情况
解决方案常见的三种
1. let it crash,上 memory limit,挂了重拉(什么 cloud native
2. ctype binding glibc ,然后 malloc_trim 定时调用
3. 换用 tcmalloc 或者 jemalloc(我自己常用 tcmalloc (LD_PRELOAD 直接换
其余社区的一些反馈 https://github.com/protocolbuffers/protobuf/issues/10088#issuecomment-1587627538
在某次治療的過程中,孩童藉由遊戲,傳達出事件對於他們小小世界的影響:
她會有一個家,然後家又會破碎,甚至會有一個很溫和的小白兔進到家裡,最後小白兔變成壞人,她把小白兔丟掉,說著,我以為你是好人,原來你是壞人。
【东京歌舞伎町拉面店发生火灾:就算地球爆炸了我也要把拉面吃完!最烧的一集(中日双语)(24/05/28)-哔哩哔哩】 https://www.bilibili.com/video/av1705144099?p=2
敬意を払おう
敬意を払おう
这个问题其实挺有意思的,遇到一个没有想到的问题
COPY --from=A /home/b/ /home/b/
加上 --link --chown=b:b 以后遇到了上面的问题。解决方法是在一个单独的 stage 里 chown
修完以后发现虽然能运行但会因为没有权限在 /home/b/ 下写文件导致退出
一查 /home/b/ 的 owner 居然变成了 root:root …
一开始还以为是我 chown 的姿势不对,换了好几种姿势,又不断在中途 debug,终于确定这个问题是 COPY --link 造成的
原本 /home/b/ 目录本身和其下的所有子文件/目录的 owner 都是 b:b,但是在 COPY --link 后 /home/b/ 本身的 owner 变成了 root:root
很难想到 COPY 加不加 --link 还会有这样的行为差异。权作记录
COPY --from=A /home/b/ /home/b/
加上 --link --chown=b:b 以后遇到了上面的问题。解决方法是在一个单独的 stage 里 chown
修完以后发现虽然能运行但会因为没有权限在 /home/b/ 下写文件导致退出
一查 /home/b/ 的 owner 居然变成了 root:root …
一开始还以为是我 chown 的姿势不对,换了好几种姿势,又不断在中途 debug,终于确定这个问题是 COPY --link 造成的
原本 /home/b/ 目录本身和其下的所有子文件/目录的 owner 都是 b:b,但是在 COPY --link 后 /home/b/ 本身的 owner 变成了 root:root
很难想到 COPY 加不加 --link 还会有这样的行为差异。权作记录