Установка значения swappiness не работает в каждой ситуации. Если это сработает для вас, отлично. Если нет, я написал сценарий, чтобы периодически очищать своп, выключая его и снова включая.
Переключение swap немного рискованно, если вы не будете осторожны. Если у вас недостаточно свободной оперативной памяти для хранения всего в ОЗУ плюс все в свопе, попытка отключить своп приведет к тому, что ваша система перестанет реагировать. Мой скрипт сначала проверяет, достаточно ли свободной ОЗУ (что занимает немного времени, поскольку фактическое количество свободной ОЗУ отличается от того, что free сообщает как бесплатное), тогда только переключает swap, если это так. Но, если вы немного отстаете от ОЗУ, не запускайте еще один важный процесс во время работы скрипта. Вот он:
#!/bin/bash
# Make sure that all text is parsed in the same language
export LC_MESSAGES=en_US.UTF-8
export LC_COLLATE=en_US.UTF-8
export LANG=en_US.utf8
export LANGUAGE=en_US:en
export LC_CTYPE=en_US.UTF-8
# Calculate how much memory and swap is free
free_data="$(free)"
mem_data="$(echo "$free_data" | grep 'Mem:')"
free_mem="$(echo "$mem_data" | awk '{print $4}')"
buffers="$(echo "$mem_data" | awk '{print $6}')"
cache="$(echo "$mem_data" | awk '{print $7}')"
total_free=$((free_mem + buffers + cache))
used_swap="$(echo "$free_data" | grep 'Swap:' | awk '{print $3}')"
echo -e "Free memory:\t$total_free kB ($((total_free / 1024)) MB)\nUsed swap:\t$used_swap kB ($((used_swap / 1024)) MB)"
# Do the work
if [[ $used_swap -eq 0 ]]; then
echo "Congratulations! No swap is in use."
elif [[ $used_swap -lt $total_free ]]; then
echo "Freeing swap..."
swapoff -a
swapon -a
else
echo "Not enough free memory. Exiting."
exit 1
fi
Вы должны запустить этот скрипт как root (например, с помощью sudo). Этот скрипт не оставит вашу систему невосприимчивой; если у вас недостаточно ОЗУ, он откажется переключать swap. Я использовал этот скрипт без проблем уже около пяти лет.
Я использую mediainfo для получения всех свойств медиафайлов (аудио и видео файлов)
root@server:Videos::08:47 PM# mediainfo Vazquez.mp4
General
Complete name : Vazquez.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 103 MiB
Duration : 3mn 52s
Overall bit rate mode : Variable
Overall bit rate : 3 730 Kbps
Encoded date : UTC 2011-11-10 07:30:57
Tagged date : UTC 2011-11-10 07:30:57
gsst : 0
gstd : 232083
gssd : B7AA66E45HH1322313268839354
gshh : o-o.preferred.bhartibb-blr1.v12.lscache7.c.youtube.com
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=24
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3mn 52s
Bit rate : 3 576 Kbps
Maximum bit rate : 5 947 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 24.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.072
Stream size : 98.9 MiB (96%)
Tagged date : UTC 2011-11-10 07:30:58
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 3mn 52s
Bit rate mode : Variable
Bit rate : 152 Kbps
Maximum bit rate : 188 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 4.20 MiB (4%)
Title : IsoMedia File Produced by Google, 5-11-2011
Encoded date : UTC 2011-11-10 07:30:58
Tagged date : UTC 2011-11-10 07:30:58
mediainfo теперь находится в репозиториях Ubuntu и может быть установлен с помощью
[ f2]Раньше было необходимо использовать mediainfo , но у этого нет пакетов для текущих версий Ubuntu.
Это может быть сюрпризом, но exiftool из libimage-exiftool-perl также имеет эту возможность.
Он поддерживает отображение информации из и может писать метаданные для некоторых из этих форматов.
Пример вывода для аудиофайла:
# exiftool The\ Police\ -\ Live\!\ Disc\ 2\ -\ Atlanta\ -\ 01.\ Synchronicity\ I.mp3
ExifTool Version Number : 9.13
File Name : The Police - Live! Disc 2 - Atlanta - 01. Synchronicity I.mp3
Directory : .
File Size : 3.9 MB
File Modification Date/Time : 2012:03:23 19:44:23+01:00
File Access Date/Time : 2012:12:26 11:44:38+01:00
File Inode Change Date/Time : 2012:03:23 19:44:23+01:00
File Permissions : rw-------
File Type : MP3
MIME Type : audio/mpeg
MPEG Audio Version : 1
Audio Layer : 3
Sample Rate : 44100
Channel Mode : Joint Stereo
MS Stereo : On
Intensity Stereo : Off
Copyright Flag : False
Original Media : True
Emphasis : None
VBR Frames : 6660
VBR Bytes : 4044318
VBR Scale : 57
Encoder : LAME3.96
Lame VBR Quality : 4
Lame Quality : 3
Lame Method : VBR (old/rh)
Lame Low Pass Filter : 18 kHz
Lame Bitrate : 32 kbps
Lame Stereo Mode : Joint Stereo
Track : 1/15
Disc : 2/2
Artist : The Police
Title : Synchronicity I
Album : Live!
Year : 2003
Genre : Rock
Comment : Atlanta
Discid : c611270f
ID3 Size : 128
Audio Bitrate : 186 kbps
Date/Time Original : 2003
Duration : 0:02:53 (approx)
В зависимости от того, что вы считаете необходимым, вы можете использовать утилиту file для этого, которая дает общую информацию о любом файле. Его главная цель - рассказать вам, какой тип файла у вас есть, но он может обеспечить необходимый уровень детализации.
$ file '01 - Nina Simone - Mood Indigo.mp3'
01 - Nina Simone - Mood Indigo.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, JntStereo
Однако, если вам нужно знать существенный [!d1 ] тегов - название, артисты и т. д. file не скажут вам об этом.
Для аудиофайлов также есть следующие файлы, хотя они могут плохо конкурировать с exiftool:
id3v2 -l <filename>
soxi <filename>
Также exiftool также поддерживает видеофайлы.
Эти команды содержат пакеты id3v2 и sox (которые можно установить, щелкнув по этим ссылкам). Они также могут быть установлены в Центр программного обеспечения или запущены:
sudo apt-get install sox
sudo apt-get install id3v2
Пример: выход id3v2 -l 'Beatles - Here Comes The Sun.mp3':
id3v1 tag info for Beatles - Here Comes The Sun.mp3:
Title : Here Comes The Sun Artist: Beatles
Album : Abbey Road Year: 1969, Genre: Pop (13)
Comment: Track: 7
id3v2 tag info for Beatles - Here Comes The Sun.mp3:
TIT2 (Title/songname/content description): Here Comes The Sun
TYER (Year): 1969
TPUB (Publisher): Capitol
TCON (Content type): Pop (13)
TALB (Album/Movie/Show title): Abbey Road
PRIV (Private frame): (unimplemented)
PRIV (Private frame): (unimplemented)
TRCK (Track number/Position in set): 7
PRIV (Private frame): (unimplemented)
PRIV (Private frame): (unimplemented)
PRIV (Private frame): (unimplemented)
PRIV (Private frame): (unimplemented)
TPE2 (Band/orchestra/accompaniment): The Beatles
PRIV (Private frame): (unimplemented)
PRIV (Private frame): (unimplemented)
PRIV (Private frame): (unimplemented)
TCOM (Composer): George Harrison
TPE1 (Lead performer(s)/Soloist(s)): Beatles
Я знал об этой команде: avconv -i <filename>
Для myfile.flv: avconv -i myfile.flv
Моя идея заключалась в том, чтобы добавить эту команду к пользовательским действиям Thunar и просто запустить ее из контекстное меню независимо от расширения. Но его нужно было запустить в терминале, поэтому я взглянул на этот ответ. (Чтобы открыть терминал и сохранить его открытым, я создал новый профиль в gnome-terminal (Edit / Profiles) под названием «new1», а в настройках профиля / «Название и команда» установите его «Когда команда завершена» на «Удерживать end open ".)
В конце (по пробной версии и ошибке) я пришел к следующему:
gnome-terminal --window-with-profile=new1 -e "avconv -i %f"
, который работает в пользовательских действиях Thunar, - и должен работать на любой медиа-файл.