C'è un modo per scaricare gli oggetti in memoria da un processo ruby ??in esecuzione?

StackOverflow https://stackoverflow.com/questions/116527

  •  02-07-2019
  •  | 
  •  

Domanda

Uccidere il processo mentre si ottengono queste informazioni andrebbe bene.

È stato utile?

Soluzione

Per i più hardcore c'è anche BleakHouse che ti dà una copia speciale compilata su misura di ruby ??con una migliore tracciabilità delle perdite di memoria powarz

Altri suggerimenti

Un modo rapido e sporco sarebbe ObjectSpace.each_object {| e | p e} . Potresti fare alcuni test per determinare cosa vuoi conservare, o Marshal gli oggetti.

Per 1.9.2 / 1.9.3 c'è gemma heap_dump, può essere iniettato in un processo in esecuzione usando gdb (ma era più stabile includerlo nel processo stesso, nessun sovraccarico di prestazioni)

Scarica i riferimenti agli oggetti, non agli oggetti stessi, ma questo è utilizzabile se ti piacciono le perdite di combattimento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top