Я работаю над встроенной системой Linux. Я понимаю, какая информация malloc_stats и /proc/pid/stats обеспечивают. Я хочу знать, как информация, напечатанная malloc_stats, связана с информацией об использовании памяти, предоставляемой/proc/stats. Предыстория заключается в том, что я хочу, чтобы каждый поток в моем приложении проверял наличие утечек памяти. Malloc_stats печатает полезную информацию, но не может быть использован programatically./proc//task/ имеет полезную информацию, но я не могу сопоставить ее с используемой памятью кучи по текущей теме.Корреляция между malloc_stats и/proc/pid/stat
0
A
ответ
1
Вы упустили функцию библиотеки mallinfo()
? Здесь malloc_stats()
получает свою информацию.
Чтобы ответить на этот вопрос напрямую: Данные в /proc
будет отражать общее использование памяти процесса, в том числе слабину пространство между распределения памяти и свободной памяти, а также памяти, который используется, не было выделено через malloc()
на всех (например, стек, глобальные/статические переменные и т. д.). malloc_stats()
сломает это на то, что на самом деле выделено, а что нет.
Смежные вопросы
- 1. Корреляция между столбцами NA
- 2. корреляция между различными матрицами R
- 3. Pearson Корреляция между двумя колонками
- 4. корреляция между векторами разной длины
- 5. Корреляция между колоннами в R
- 6. Корреляция между RTT и расстоянием
- 7. корреляция между столбцами python blaze
- 8. Корреляция между 2 питоном списки
- 9. Корреляция между колоннами в DataFrame
- 10. корреляция между столбцами по группам
- 11. корреляция между массивами в python
- 12. Корреляция между двумя кадрами данных
- 13. корреляция между шумом и ошибками
- 14. Корреляция между переменными и графиком
- 15. Корреляция между двумя двоичными изображениями
- 16. Взвешенная корреляция
- 17. Есть ли корреляция между версиями и вехами?
- 18. Корреляция между тремя переменными в MATLAB
- 19. Визуальная корреляция между численными и категориальными
- 20. Корреляция Спирмена между двумя матрицами одинаковых размеров
- 21. Корреляция между рядами pandas и целым DataFrame
- 22. Корреляция между высотой TextArea и Scrollbar scrollTopProperty
- 23. Мониторинг и корреляция между несколькими журналами Shell
- 24. Корреляция между x и двумя другими переменными
- 25. Корреляция между задачами, суб-проектов и конфигураций
- 26. Роллинг-корреляция между объектами зоопарка неравного размера
- 27. Корреляция между несколькими переменными кадра данных
- 28. Корреляция AltBeacon между RangedBeacon.setSampleExpirationMillisecond, setForegroundScanPeriod и setForegroundBetweenScanPeriod
- 29. Корреляция между числовыми и логическими переменными
- 30. Сопряженная корреляция между растровыми слоями в R
спасибо. Мое основное намерение состоит в том, чтобы получить информацию о каждом потоке. Я понимаю, что лучший способ получить поток мудрый breakup - использовать /proc/pid/task/tid/stat. Однако на основе вашего ответа я понимаю информацию о размере резидентного набора (rss) не отражает фактическое количество динамической памяти, выделенной потоком и общим размером. Я правильно понял – Badri
Память не отслеживается по каждой теме. Он принадлежит процессу, а не только одному потоку. – duskwuff
По определению потока он не имеет собственного пространства памяти, но разделяет пространство памяти со всеми потоками одного и того же процесса. Таким образом, память, выделенная потоком, не имеет смысла. Это память, выделенная процессом * whole * (и не имеет значения, какой конкретный поток выполнял вызов библиотеки malloc, или syscall 'mmap', называемый' malloc'). –