1 
                    
                    rockxsj      327 天前 
                    
                    插嘴问一句,iptv 是哪个服务?🤔 
                 | 
            
     3 
                    
                    Emiya1208      327 天前    你提供的信息非常有限,且服务器不在我手上无法 debug ,仅凭借现有信息做如下推断: 
                这应该不是 docker 的问题。 sysctl -a | grep overcommit_memory 检查这个,我猜应该是 0 ,当设置为 0 时,系统会基于一个启发式算法来决定是否允许分配。这个算法考虑的因素包括当前可用内存、swap 空间等。或许你的程序运行起来只需要 1MB 内存(极端假设),但是它申请了 2G (它为自己未来可能用到的内存进行申请,尽管这并不会直接使用 2G ),那么会直接 oom 。 考虑临时设置为 overcommit_memory = 1 看看,我猜大概率是可以运行起来的。但是保持,永远的设置为 1 需要一定的 linux 专业知识,简称,你真的知道你在干嘛。  | 
            
     4 
                    
                    Hieroglyph      327 天前 
                    
                    3 楼正解,可以关注一下内核的一些内存限制参数 
                 | 
            
     5 
                    
                    ala2008      327 天前 
                    
                    有没有配置限制内存之类的 
                 | 
            
     6 
                    
                    sasaba      327 天前 
                    
                    docker 计算内存用量的时候似乎会算上 buff cache ,如果写了太多文件可能是这个原因 
                 | 
            
     7 
                    
                    aru      327 天前 
                    
                    先加上 4G 的 swap ,再观察下 
                有些进程会申请很大的内存  | 
            
     8 
                    
                    aogg      327 天前 
                    
                    docker stats 查看内存变化 
                 | 
            
     9 
                    
                    31415926535x      326 天前 
                    
                    可能是因为其他服务申请的内存较多且存在超卖逻辑而崩掉了,看看宿主机是不是也有啥服务呢, 
                如果不是那么重要的应用,加自动重启吧  | 
            
     10 
                    
                    DefoliationM      326 天前 via Android 
                    
                    zswap 开一开,swap 加一加 
                 | 
            
     11 
                    
                    mingtdlb      326 天前 
                    
                    是不是你容器的问题,docker 一般不会有问题。你 run 容器的时候限制一下 内存 试试 
                 | 
            
     12 
                    
                    blessingcr      326 天前 
                    
                    之前试过各种中间件 oom ,大概都是 docker 容器内的某些服务,他没限制 xmx,MetaspaceSize ,MetaspaceSize 之类的最大内存; 然后有的服务他不到最大内存不 rc ; 服务内存+容器内系统内存> 容器内存就 oom 了; 
                试试加点内存或者限制下内存  | 
            
     13 
                    
                    blessingcr      326 天前 
                    
                    docker 本身真的没问题 嘎嘎好用 
                 | 
            
     14 
                    
                    RobberPhex      325 天前 
                    
                    看了上面的回答,我觉得解决问题是 ok 的,但是我们还是要有一些方法论的。 
                比如见到 oom ,我们应该看一下 dmesg 等 oom 日志,看下为什么 oom-kill ,是 cgroup 限制了,还是 kernel 限制了,是否需要 overcommit 等。 开 overcommit_memory 、加 swap 等,只能说是缓解问题,但不能算是解决了问题。  | 
            
     15 
                    
                    y1y1      322 天前 
                    
                    alist 不是用的 xiaoya 吧?之前有过爆内存的情况 
                 |