How can I know which process is using my swap space on my Linux system?
Пространство подкачки не обязательно используется конкретными процессами.
More precisely: Where are consumed each of those 244 MB of swap?
Файлы, хранящиеся в файловых системах на основе tmpfs
, могут использовать их(tmpfs
сначала используют ОЗУ в качестве заднего -конца, но, чтобы не тратить ОЗУ, могут разбивать на страницы блоки области подкачки, которые активно не используются ).
Проверьте вывод:
df -ht tmpfs
for
является зарезервированным словом и, как таковое, следует специальным правилам:
The following words shall be recognized as reserved words:
! { } case do done elif else esac fi for if in then until while
This recognition shall only occur when none of the characters is quoted and when the word is used as:
The first word of a command
The first word following one of the reserved words other than case, for, or in
The third word in a case command (only in is valid in this case)
The third word in a for command (only in and do are valid in this case)
Если вы попытаетесь
IFS=":" for i in $PATH; do echo $i; done
то по приведенным выше правилам это не цикл for
, так как ключевое слово не первое слово команды. Но вы можете получить желаемый результат с помощью
tr ':' '\n' <<< "$PATH" #Bash, Ksh, Zsh
printf "%s\n" "$PATH" | tr ':' '\n' #Any standard shell
, где tr
заменяет каждый :
новой строкой.
Возможно, вы знакомы с этим допустимым подходом.:
while IFS= read -r line; do
while
— первое слово команды, а назначение IFS
применяется к read
, так что все ок.
Назначение макросов оболочки разрешено перед простыми командами (, такими как read
), но не перед составными операторами, такими как for
.
Рекомендуется использовать:
OIFS=$IFS
IFS=:
some complex commands
IFS=$OIFS