Я рисковал бы предположить что, потому что карта Nvidia является мобильной, она использует технологию Optimus Nvidia. (Я не подтвердил это для Вашей точной карты),
Однако у меня была эта та же проблема с Gnome 3, возвращающимся к нейтрализации (в Fedora), если у меня правильно не было решения с открытым исходным кодом для Optimus на моем ноутбуке, проблема, которая может быть решена с BumbleBee.
... И некоторые примечания от Wiki Вашего дистрибутива.
Краткая версия: посмотрите на используемые страницы clnt
+pers
в выводе svmon -G
(единица измерения - 4к страниц), если хотите знать весь файловый кэш, или посмотрите на vmstat -v
и посмотрите на "страницы файлов" для файлового кэша, исключая исполняемые файлы (один и тот же блок).
Вам следует прочитать следующую статью, если вы хотите получить хорошее представление о том, что происходит: Обзор замены страниц AIX.
Для очень короткого обзора, память в AIX классифицируется двумя способами:
Рабочая память против постоянной памяти
Рабочая память - это процесс (стек, куча, общая память) и память ядра. Если в такой памяти должны быть страницы, то она переходит в режим подкачки.
Постоянная память - это файловый кэш. Если нужно вывести страницы, то она возвращается обратно в файловую систему, откуда пришла (для грязных страниц чистые страницы просто перерабатываются). Он подразделяется на неклиентские (или постоянные) страницы для файловых систем JFS и клиентские страницы для JFS2, NFS и, возможно, других.
Вычислительные и не вычислительные страницы.
Вычислительные страницы - это снова данные процесса и ядра, плюс текстовые данные процесса (т.е. страницы, которые кэшируют исполняемый файл/код).
Невычислительными являются другие: файловый кэш, который не является исполняемым (или разделяемой библиотекой).
svmon -G
(btw, svmon -G -O unit=MB
немного более дружественный) дает Вам работу по сравнению с постоянными страницами. Колонка work
является, ну, рабочей памятью. Вы получаете постоянную память, сложением столбцов pers
(JFS) и clnt
(JFS2).
В вашем случае, у вас есть около 730 МБ постоянных страниц, которые поддерживаются вашими файловыми системами (186151*4k страниц).
Теперь topas
top-right "widget" FileSystemCache (numperm)
показывает что-то немного другое, и Вы получите те же самые данные с vmstat -v
: это только не вычисляемые постоянные страницы, т.е. то же самое, что и выше, но исключая страницы для исполняемых файлов.
В вашем случае это около 350МБ (2,2% от 16Гб).
В любом случае, это действительно не так уж и много кэша.
Команда, которую вы ищете (imho):
# svmon -P -O filtertype=working,segment=off,filtercat=exclusive,unit=MB
Ключевые параметры здесь:
И вы захотите посмотреть на другие параметры, такие как -C (связанные с именем команды, некоторые примеры ниже) и, возможно, -U (связанные с пользователем)
++++ начало комментария ++++
вставив то, что я бы ввел в качестве комментария к вашему вопросу, но не имеет репутации - здесь как новый пользователь.
Ваш вывод vmstat говорит мне не только о вашей текущей ситуации - поскольку это однострочный вывод - он исторический - и я подозреваю, что у вас были проблемы с памятью, поскольку он показывает историю pi / po (страница пространства подкачки в / paging space pageout)
Другими интересными столбцами являются столбцы fr / sr:
Что я считаю беспокоящим, так это приведенные здесь значения pi / po - и полностью не соответствуют данным от других команд - здесь также нет времени безотказной работы, поэтому трудно понять, для чего «тест» сгенерировал эти числа.
В вашей презентации вы показываете pi = 22 и po = 7.Это означает, что в среднем система считывала информацию из пространства подкачки (после того, как она была записана) в 3 раза чаще, чем записывала данные. Это указывает на голодную систему, потому что данные считываются (pi), а затем снова украдены (sr / fr) до того, как они когда-либо были затронуты (упоминается также как используется) - или считываются и удаляются снова, прежде чем приложение `` ожидает '' их. когда-либо был шанс получить к нему доступ.
Короче говоря, представленные данные не «синхронизированы» с «болевыми» моментами - хотя это может объяснить, почему только 2,2% вашей памяти теперь используется для кэширования (это может быть даже «вычислительная система, или загруженные программы»). ).
Что касается vmstat , я также предлагаю флаги -I (заглавная: i, которая добавляет 'fi' и 'fo' - действия fileIn и fileOut) и -w (широкие), чтобы числа были лучше размещать под текстовыми заголовками.
++++ конец комментария
Итак, давайте посмотрим отрывок с использованием -P (просмотр процесса)
# svmon -P -O filtertype=working,segment=off,filtercat=exclusive,unit=MB | head -15
Unit: MB
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual
14614630 httpd 21.5 0.06 0 21.5
11272246 httpd 21.4 0.06 0 21.4
12779758 httpd 21.2 0.06 0 21.2
17760476 httpd 20.9 0.06 0 20.9
11796712 httpd 20.8 0.06 0 20.8
17039454 httpd 20.6 0.06 0 20.6
11862240 httpd 20.6 0.06 0 20.6
14680090 httpd 20.5 0.06 0 20.5
10747970 httpd 20.5 0.06 0 20.5
11141286 httpd 20.5 0.06 0 20.5
4718766 mysqld 13.6 0.02 0 13.6
Если вы не являетесь пользователем root, вы видите только команды в своей среде.
$ svmon -P -O filtertype=working,segment=off,filtercat=exclusive,unit=MB
Unit: MB
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual
5505172 svmon 10.7 0.19 0.44 11.4
6553826 ksh 0.57 0.02 0 0.57
9175288 ksh 0.55 0.02 0 0.55
12910710 sshd 0.55 0.02 0 0.55
15204356 sshd 0.52 0.02 0 0.52
12779760 head 0.18 0.02 0 0.18
Возможно, вы захотите посмотреть на конкретную команду - так что переключитесь обратно на root, чтобы посмотреть httpd
svmon -C httpd -O filtertype=working,segment=off,filtercat=exclusive,unit=MB
Unit: MB
===============================================================================
Command Inuse Pin Pgsp Virtual
httpd 227.44 0.69 0 227.44
# svmon -C httpd -O filtertype=working,segment=category,filtercat=exclusive,unit=MB >
Unit: MB
===============================================================================
Command Inuse Pin Pgsp Virtual
httpd 230.62 0.81 0 230.62
...............................................................................
EXCLUSIVE segments Inuse Pin Pgsp Virtual
230.62 0.81 0 230.62
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
81a203 3 work working storage m 24.6 0 0 24.6
parent=883990
8b82d7 3 work working storage m 18.8 0 0 18.8
parent=834226
8b9d37 3 work working storage m 18.2 0 0 18.2
parent=884fb0
8915f2 f work shared library data m 2.00 0 0 2.00
parent=898373
89abb3 f work shared library data m 2.00 0 0 2.00
parent=84b9a9
824ea4 f work shared library data m 2.00 0 0 2.00
Это плохо показывает 'сегмент = категория', так что теперь с помощью более простой команды - tail - и покажите сводку и детали каждого типа «сегмента» памяти - но по-прежнему только «рабочую» память (иначе кэширование)
# svmon -C tail -O filtertype=working,segment=category,unit=MB
Unit: MB
===============================================================================
Command Inuse Pin Pgsp Virtual
tail 82.5 52.6 5.12 90.6
...............................................................................
SYSTEM segments Inuse Pin Pgsp Virtual
34.1 33.1 2.38 35.8
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
10002 0 work kernel segment m 34.1 33.1 2.38 35.8
...............................................................................
EXCLUSIVE segments Inuse Pin Pgsp Virtual
0.18 0.02 0 0.18
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
88b4f1 f work working storage sm 0.09 0 0 0.09
82d005 2 work process private sm 0.07 0.02 0 0.07
8e0c9c 3 work working storage sm 0.02 0 0 0.02
...............................................................................
SHARED segments Inuse Pin Pgsp Virtual
48.2 19.5 2.75 54.6
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
9000 d work shared library text m 48.2 19.5 2.75 54.6
nmon, затем нажмите «m», чтобы быстро показать вам несколько больших применений памяти
ipcs -am
Общая память, используемая многими приложениями, такими как DB2 и Oracle -, проверьте размер SEGSZ с помощью команды ipcs -am
. В столбце «Владелец» обычно указано, для чего он используется, например, пользователь oracle для SGA или db2inst1 для буферного кэша DB2.
Тогда все зависит от процессов, и это становится сложным. Все процессы, выполняющие один и тот же программный файл, будут совместно использовать кодовые страницы только для чтения -. Они также могут совместно использовать некоторые или почти все данные и страницы sack, если процессы были запущены общим процессом, который затем разветвился, например, как RDBMS и такие вещи, как Apache. Это также верно для десятков библиотек, которые также нужны процессам и в значительной степени невидимы для нас.
Из-за этого неизвестного совместного использования часто случается так, что если вы суммируете всю память всех процессов, очевидно, что она намного больше, чем память.
Если вы используете nmon
, затем «t» для основных процессов, а затем «4», чтобы упорядочить размер процесса, вы увидите память процесса.