Linux пустое разрешение команды кэш-буфера отклонен

Если файл не заканчивается новой строкой, просто необходимо обратиться к последней команде замены (используйте -i флаг sed изменить оперативный файл):

$ sed '$!N;$s/\n/,/' dna.data
a,b,c,d,e,f
1,2,3,4,5,6,7,8,9,0,1,2
0,9,8,7,6,5,4,3,2,1,0,9  

Если файл заканчивается новой строкой, можно использовать редактора ex:

$ ex dna.data
$-1s/\n/,/
1,2,3,4,5,6,7,8,9,0,1,2
x

или в одной строке

echo -e '$-1s/\\n/,/\nx' | ex dna.data
1
28.12.2013, 15:28
4 ответа

Я не уверен, почему, Вы выполняете 3 команды, когда первый - все, в чем Вы нуждаетесь:

$ sync; echo 3 > /proc/sys/vm/drop_caches

Это сделает следующие 3 вещи: свободный pagecache, dentries и inodes. Используя 1 только освобождает pagecache, в то время как 2 освобождает dentries + inodes.

Вы, вероятно, испытываете некоторую странную проблему синхронизации где:

  1. Вы делаете эту операцию слишком быстро
  2. Нет ничего для освобождения, так как Вы просто ранее выполнили команду
  3. Ваша предыдущая команда не имела шанса завершиться или быть обработанной

Ссылки

2
28.01.2020, 02:01

Просто вы должны попробовать это

echo 3> / proc / sys / vm / Drop_Caches

Но вы тоже работаете со мной же ситуацию, но работает нормально [root @ i-id ~] # w 20:56:35 Вверх 4:03, 2 пользователя, среднее значение нагрузки: 0,00, 0,00, 0,111 Пользователь TTY от Login @ Idle JCPU PCPU Что CORT TTY4 - 16:55 3: 48 млн 0,25с 0,25с -bash root pts / 0 192.168.1.42 20:55 0,00с 0,20с 0,00с [root @ i-id ~] # cat / etc / redhat-release Centos Release 6.5 (финал) [root @ i-id ~] # sy Sync Sysctl Sys-unconfig
[root @ i-ids ~] # синхронизация; echo 3> / proc / sys / vm / drop_caches [root @ i-ids ~] # синхронизация; echo 2> / proc / sys / vm / drop_caches [root @ i-ids ~] # синхронизация; echo 1> / proc / sys / vm / drop_caches [root @ i-ids ~] # синхронизация; echo 3> / proc / sys / vm / drop_caches

Можете ли вы опубликовать наш темальный вывод здесь из ввода команды для вывода

-1
28.01.2020, 02:01

Этот должен работать независимо от распределения Linux, вы работаете. Вам нужно покрыть перенаправление при запуске Sudo.

$ sudo sh -c "$(which echo) 3 > /proc/sys/vm/drop_caches"

Кредиты: https://unix.stackexchange.com/a/148442/101951 (Я добавил , какое echo часть, хотя)

1
28.01.2020, 02:01

Используйте:

echo 3 | sudo tee /proc/sys/vm/drop_caches
-2
28.01.2020, 02:01

Теги

Похожие вопросы