Хочу провести сравнение по размеру программ для Linux и Windows причем в обоих системах используются разные библиотеки: Qt, GTK..
На самом деле два вопроса: 1.философский, 2.практический.1. Размер программы в памяти не равен размеру занимаемому на диске. Кроме того, программы часто подгружают динамические библиотеки. Какие параметры будут более адекватно оценивать размер программы для пользователя?
2. Под вынь я нашел тулзу, которая показывает все загружаемые процессом dll-ки, так что я могу оценить как затраты оперативки так и потребляемое дисковое пространство. Под линухом опыта меньше, пока нашел только top, которая показывает общий объем потребленной памяти. Наверняка есть сто-то более подходящее?
>Хочу провести сравнение по размеру программ для Linux и Windows причем в
>обоих системах используются разные библиотеки: Qt, GTK..
>На самом деле два вопроса: 1.философский, 2.практический.
>
>1. Размер программы в памяти не равен размеру занимаемому на диске. Кроме
>того, программы часто подгружают динамические библиотеки. Какие параметры
>будут более адекватно оценивать размер программы для пользователя?"Размер" программы есть величина совершенно абстрактрая и не поддающаяся
измерениям. Всяких параметров, имеющих отношение к "размеру", много,
и какой из них наиболее подходящий - зависит от цели оного "пользователя".>2. Под вынь я нашел тулзу, которая показывает все загружаемые
>процессом dll-ки, так что я могу оценить как затраты оперативки
>так и потребляемое дисковое пространство.Оценить тут можно размер исполняемых файлов (в том числе и библиотек)
и размер картированных из этих исполняемых файлов сегментов
(кода, данных). Первый показатель представляет определённый интерес,
поскольку определяет объём занятого на диске пространства, а вот
второй практически бесполезен, так имеет очень косвенное отношение
к объёму занятой программой оперативной памяти.>Под линухом опыта меньше, пока нашел только top, которая
>показывает общий объем потребленной памяти. Наверняка есть сто-то
>более подходящее?man proc
Только начинать всё равно нужно с определения цели: чего выяснить-то
нужно про программу? Сколько в ней кода? Сколько данных? Сколько памяти
она требует для запуска? Сколько места на диске занимает?
>"Размер" программы есть величина совершенно абстрактрая и не поддающаяся
>измерениям. Всяких параметров, имеющих отношение к "размеру", много,
>и какой из них наиболее подходящий - зависит от цели оного "пользователя".
Целей у пользователя может быть, видимо, несколько:
1. Если программа скачивается по сетке, надо экономить время и трафик.
2. Надо экономить место на диске.
3. Надо экономить место в памяти.
>
>man proc
>
За proc спасибо, если я правильно понял:
/usr/bin/pldd [идентификатор_процесса]
>>
>>man proc
>>
>За proc спасибо, если я правильно понял:
>/usr/bin/pldd [идентификатор_процесса]понял все-таки неправильно.
правильно:
cat /proc/<PID>/maps
>понял все-таки неправильно.
>правильно:
>cat /proc/<PID>/mapsОно самое.
А для оценки потребности в ресурсах лучше всего провести реальные
измерения (например, измерить объём трафика, порождаемого при запуске
программы, и прирост использования памяти).