Czy istnieje funkcja w ruby, aby znaleźć pamięć używaną przez obiekt ruby.
Podobny do C ma funkcję sizeof()
, a PHP ma funkcję memory_get_usage()
. Czy ruby mają równoważną funkcję/metodę?Jak znaleźć pamięć używaną przez obiekt ruby?
Odpowiedz
Jest to odcinek, ale jeśli celem jest szukanie przecieku pamięci, zamiast sprawdzić rozmiar poszczególnych obiektów, można spojrzeć na object_count(cls)
, jak w:
>> ObjectSpace.each_object(Object).count
=> 114629
>> ObjectSpace.each_object(Array).count
=> 10209
itp FWIW, symbole są trochę inaczej: można uzyskać zliczania symboli poprzez:
>> Symbol.all_symbols.count
=> 17878
Aby dowiedzieć się, czy masz wyciek nie można ręcznie wywołać GC, liczyć swoje obiekty, uruchomić kod na chwilę, ponownie wywołaj GC, a następnie zobacz, czy liczba obiektów znacznie wzrosła.
Oczywiście to nie mówi o wielkości każdego obiektu, tylko o tym, ile każdej klasy jest przydzielonych.
Jest też memprof, ale przyznaję, że jeszcze tego nie używałem.
Jest to liczba obiektów w pamięci. Pierwotne pytanie, jak rozumiem, pyta, jak znaleźć wykorzystanie pamięci (w bajtach) pojedynczego obiektu. – Ariejan
@Ariejan: W pełni się zgadzam. Dlatego powiedziałem: "* jeśli * twoim celem jest szukanie wycieku pamięci, zamiast widzieć rozmiar poszczególnych obiektów ..." –
- 1. Jak znaleźć pamięć używaną przez obiekt w PHP? (sizeof)
- 2. r - Jak wyczyścić pamięć używaną przez rJava?
- 3. Czy Instruments wyświetla pamięć używaną przez UIWebView?
- 4. wierszu polecenia, aby uzyskać pamięć używaną przez proces
- 5. Jak znaleźć wersję Struts używaną w projekcie
- 6. Pamięć podręczna obiektów Ruby
- 7. Jak zmienić domyślną czcionkę używaną przez Silverlight?
- 8. Jak mogę monitorować pamięć używaną przez określony proces w chmurze AWS?
- 9. Jak znaleźć tłumacza ruby?
- 10. LD_LIBRARY_PATH: jak znaleźć obiekt wspólny
- 11. Jak znaleźć aktualną wersję QtWebKit używaną w Qt SDK?
- 12. Jak znaleźć wersję .NET używaną w istniejącym projekcie?
- 13. jak znaleźć pamięć MAX ze statystyk dokowania?
- 14. Jak programowo znaleźć pamięć w programie iPhone?
- 15. Jak określić bieżącą rodzinę czcionek używaną przez Sublime Text 2?
- 16. Jak mogę skonfigurować instancję jsdom używaną przez żart?
- 17. Jak mogę uzyskać miniaturkę używaną przez Nautilus dla danego pliku?
- 18. Jak zmodyfikować ścieżkę używaną przez exec w php
- 19. Jak określić czcionkę używaną przez przeglądarkę do renderowania tekstu?
- 20. Efektywna pamięć podręczna Ruby LRU
- 21. Gdzie mogę zdefiniować domenę używaną przez url_for() w Flask?
- 22. Jak wyzerować pamięć przydzieloną przez Marshal.AllocHGlobal?
- 23. Jak znaleźć obiekt pamięci podręcznej według identyfikatora
- 24. activerecord znaleźć przez asocjację
- 25. pamięć zużywana przez wektor łańcuchowy w C++
- 26. Jak uzyskać obiekt Jackson ObjectMapper w użyciu przez wiosnę 4.1?
- 27. Jak przekonwertować obiekt hash ruby na JSON?
- 28. Lakieru powoli, gdy obiekt jest buforowany (pamięć)
- 29. jQuery tablesorter jak znaleźć obiekt sortList
- 30. Jak znaleźć wiadomości, które obiekt rozumie?
Prawdopodobnie duplikat: http://stackoverflow.com/questions/3973094/how-to-measure-the-size-of-a-ruby-object – Matt
@Matt - Thank you. –
Jestem ciekawy: jaki jest cel twojego pytania? Czy chcesz znać rozmiar obiektu lub czy próbujesz ustalić, ile pamięci zajmie duża liczba określonych obiektów? – Sim