Предположение, что Вы используете GNU bash
или что-то подобное:
Возможно, a for
цикл?
for x in a b
do
run-command --a --whole --lot --of --flags parameter $x
done
который может также быть записан в одной строке как for x in a b; do run-command --a --whole --lot --of --flags parameter $x ; done
prstat
определяет ПОДКАЧКУ как:
SWAP The sum of swap reservations of the associated processes for each user, project, task, or zone. This counts shared memory only once for each user, project, task, or zone. Swap is reserved when anonymous memory is allo- cated or files are mapped private. The value of swap is expressed in kilobytes (K), megabytes (M), or gigabytes (G).
(от prstat (1M) на Солярисе 10, cf. Откройте Solaris prstat),
В основном это означает, что значение включает память, к которой еще в настоящее время не получают доступ, но отображают в адресное пространство процесса. Такая память может использоваться в будущем, и таким образом может быть выгружена (т.е. записана в раздел подкачки для реального). Таким образом при создании начальной буквы, отображающей Солярис, prstat считает их как ПОДКАЧКУ.
Это не означает, что этот объем памяти на самом деле записан в раздел ПОДКАЧКИ или обязательно будет записанным в него.
То резервирование подкачки, анонимная память и отображаемые файлы являются частью системы виртуальной памяти Соляриса.
Также обратите внимание, что Вы используете -t
- таким образом показанное значение в Вашем примере не является тем процесса оракула, но итоговым значением всех процессов, работающих при пользователе oracle
.
Используя некоторый порт Solaris top
предоставляет более полезную информацию, т.е. РАЗМЕР (или VMEM) и RES (или RSS) значение. VMEM включает все страницы виртуальной памяти, и RSS является резидентным размером. С этим отношение VMEM> = RSS верен (для prstat RSS, может быть> ПОДКАЧКА, т.е. RSS не включен в ПОДКАЧКУ).
Если Вы обеспокоены фактическим действием подкачки, можно использовать что-то как vmstat
.