Memory
Ansible 拋出“錯誤!發現一名工人處於死亡狀態”錯誤
當我執行一個簡單地將目錄從一個地方復製到另一個地方的劇本時,ansible 拋出
錯誤!一名工人被發現處於死亡狀態
錯誤。經過一番Google搜尋,看起來這是由 oom-killer 殺死 ansible 程序引起的(但我不確定是否是這種情況)。我的記憶是:
total used free shared buff/cache available Mem: 991 372 448 1 170 467 Swap: 511 365 146
我不知道如何解決它。我應該提一下,當我第一次執行劇本時,我只有 RAM,因為記憶體不足而無法執行。之後,我添加了交換。不確定它是否相關,但請注意它是交換文件,而不是單獨的分區。
我在執行時觀察了記憶體,我發現一旦執行該任務,空閒交換就會很快下降。當它達到 0 時拋出錯誤消息。
我正在執行以下劇本。
--- - hosts: localhost become: true become_method: sudo become_user: root vars: portals: - mysite contentPath: "/var/www/" backupPath: "/home/dataFiles/backups/" tasks: - name: backup content copy: src: "{{ contentPath }}/{{ item }}" dest: "{{backupPath}}/{{ item }}/{{ ansible_date_time.date }}/" with_items: - "{{ portals }}" ...
我上面給出的錯誤是我從ansible中得到的唯一資訊。即使冗長地執行劇本也不會為此提供任何額外的東西。
copy_module文件中有一條註釋:
“複製”模組遞歸複製工具不能擴展到大量(>數百)文件。對於替代方案,請參閱同步模組,它是 rsync 的包裝器。
假設這是這種情況,應該考慮使用同步模組。