1. 程式人生 > >subprocess.Popen() close_fds問題 OSError: [Errno 12] Cannot allocate memory

subprocess.Popen() close_fds問題 OSError: [Errno 12] Cannot allocate memory

使用subprocess.Popen() 來呼叫命令時竟然發現response確實是返回到客戶端了,但是伺服器端和客戶端的http連線竟然還連線著,一直不斷。

python的文件,發現:http://docs.python.org/library/subprocess.html

     cmd = 'ps aux | grep "memcached .* %s"' % port
     p = subprocess.Popen(cmd, shell=True, close_fds=True, # 必須加上close_fds=True,否則子程序會一直存在
                          stdout=subprocess.PIPE, stderr=subprocess.PIPE)
需要加上  close_fds=True,#必須加上close_fds=True,否則子程序會一直存在

但是有時候加上了這句,有時候會報錯 OSError: [Errno 12] Cannot allocate memory,

import gc

gc.collect()

主動回收記憶體

相關推薦

subprocess.Popen() close_fds問題 OSError: [Errno 12] Cannot allocate memory

使用subprocess.Popen() 來呼叫命令時竟然發現response確實是返回到客戶端了,但是伺服器端和客戶端的http連線竟然還連線著,一直不斷。 python的文件,發現:http://docs.python.org/library/subprocess.

mysql報錯mmap(137428992 bytes) failed; errno 12,Cannot allocate memory for the buffer pool

not span can journal total 時間 查看 stat tar mysql以`systemctl start mysqld.service`的方式啟動一段時間後發現突然無法啟動,嘗試重新啟動也不能解決問題,排查問題時,先後通過`systemctl sta

nginx: [alert] mmap(MAP_ANON|MAP_SHARED, 1073741824) failed (12: Cannot allocate memory)問題

今天進行Nginx反向代理,用nginx -t測試配置檔案是否正常時出現如下錯誤: nginx: [alert] mmap(MAP_ANON|MAP_SHARED, 1073741824) failed (12: Cannot allocate memory) 記憶體對映無法完成,共享記憶體

nginx 軟重啟報錯 mmap(MAP_ANON|MAP_SHARED, 524288000) failed (12: Cannot allocate memory)

解決辦法 將配置檔案的 http 的 proxy_cache_path 由500改為300 proxy_cache_path /usr/local/nginx/proxy_cache_path levels=1:2 keys_zone=cache_one: 300m inacti

執行Runtime.exec異常: error=12,Cannot allocate memory

Exception Trace: In the Linux circumstance, when the program executes till this place:Process p = Runtime.getRuntime().exec(cmdArr);it thr

kafka 容器報記憶體不足異常(failed; error='Cannot allocate memory' (errno=12))

原路徑https://blog.csdn.net/womenrendeme/article/details/76855490 異常: OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1

啟動服務失敗,Java HotSpot(TM) 64-Bit Server VM warning: error='Cannot allocate memory' (errno=12)

反覆啟動(down了又起,沒起成功down了又起,反覆操作了三遍)應用服務(有多個netty服務端)的時候報這個錯誤: RealServer Start OK 2018-10-30 15:46:52 INFO:2018-10-30 15:46:52 Server beg

Java HotSpot(TM) 64-Bit Server VM warning(error='Cannot allocate memory' (errno=12))

開啟kafka的bin目錄下的啟動檔案,如下: vim.kafka-server-start.sh 找到 KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 換成下面 KAFKA_HEAP_OPTS="-Xmx256M -Xms128M" 再啟動就可以了

centos Cannot allocate memory for the buffer pool

compress instr suse ocean crc ret imp 參數設置 git mysql 無法啟動 ,查看日誌: 17-10-01T15:37:27.401599Z 0 [Warning] TIMESTAMP with implicit DEFAULT v

composer proc_open(): fork failed – Cannot allocate memory

int ann open() for clas wap proc count -m 一般小的VPS 才1G內存,如果使用composer會提示內存不足的現象 解決辦法,可以使用交換內存 直接命令 /bin/dd if=/dev/zero of=/var/swap.1 bs=

解決Zend OPcache huge_code_pages: mmap(HUGETLB) failed: Cannot allocate memory報錯

lan share size led 功能 false opcache not als 前幾日看到鳥哥介紹的 《讓你的PHP7更快之Hugepage》, 於是想試試手給服務器加上,參照格式安裝好擴展,調整好配置文件,然後重啟php-fpm,結果啟動一直報Zend OPcac

pid max導致fork: Cannot allocate memory 的處理

ima oss 系統 bbf 海外 遊戲 控制臺 處理 not 海外一臺服務器淩晨就開始出現了不能登錄遊戲。早上運營人員告知上服務器查看了下。 一打命令就界面提示 -bash: fork: Cannot allocate memory 輸入了幾次top 出來了才出來了,一看

Cannot allocate memory /Resource temporarily unavailable 故障分析

前言: Linux 核心有個機制叫OOM killer(Out-Of-Memory killer),該機制會監控那些佔用記憶體過大,尤其是瞬間很快消耗大量記憶體的程序,為了防止記憶體耗盡而核心會把該程序殺掉。典型的情況是:某天一臺機器突然ssh遠端登入不了,但能ping通,說明不是網路的故障

cassandra os::commit_memory(0x00000000cc800000, 864026624, 0) failed; error='Cannot allocate memory'

本章是關於 cassandra 資料庫執行相關錯誤解決 1、錯誤: 日誌: [[email protected] conf]# tail -f /var/log/cassandra/cassandra.log OpenJDK 64-Bit Server VM warning:

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000fa980000, 59244544, 0) failed; error='Cannot allocate memory' (er

啟動專案報錯 Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000fa980000, 59244544, 0) failed; error='Cannot allocate memory' (errno=1

spark-submit 執行出現“Cannot allocate memory”錯誤

There is issufficient memory for the Java Runtime Environment to continue.  Native memory allocation(malloc) failed to allocate xxx bytes

-bash: fork: Cannot allocate memory

今天遇到伺服器無法SSH,VNC操作命令提示fork:cannot allocate memory free檢視記憶體還有(注意,命令可能要多敲幾次才會出來)   檢視最大程序數 sysctl kernel.pid_max   ps -eLf | wc -l檢視程

-bash: fork: Cannot allocate memory 問題的處理

今天遇到伺服器無法SSH,VNC操作命令提示fork:cannot allocate memory free檢視記憶體還有(注意,命令可能要多敲幾次才會出來) 檢視最大程序數 sysctl kernel.pid_max ps -eLf |

Redis報錯Can't save in background: fork: Cannot allocate memory及類似問題的處理方法

 問題的發現及解決過程: 1.Redis主從複製(一主一從)環境在客戶端用命令檢視主從狀態 在slave上輸入命令顯示如下: 在master上輸入命令顯示如下: 從顯示可以看出主從關係出現問題,然後檢視slave的redis.log有如下報錯: 以為是IP及埠問題,經檢查後發現

-bash: fork: Cannot allocate memory問題,程序數滿了的解決辦法

  今天一大早來到公司就發現一臺遠端伺服器的程序滿了,無法連線上遠端伺服器,如下圖所示:      出現這種情況,主要是因為程序跑滿了,memory被消耗光了,無法為其他的操作,包括vnc操作命令和SSH連線分配記憶體,我們可以用兩個辦法:   1、init 6(重啟伺服器,注意,不是重啟tomcat)