Я использую Linux 2.6.29.6 с xfce, и в настоящее время я использую Eagle 4.16, программное обеспечение для электронных приложений. Хотя большая часть этого замечательна, я нахожусь на этапе, когда у меня есть встроенный авторутер, соединяющий мою печатную плату для меня. Хотя на сложных платах вполне нормально, что он не достигает 100%, я обнаружил, что на моем компьютере (процессор 1,6 ГГц) маршрутизация занимает слишком много времени (примерно 10 или 15 минут, а не 1).
Затем я начинаю понимать, что я могу сделать, чтобы улучшить программное обеспечение. Я уже сделал некоторые улучшения, переместив временную папку в место в оперативной памяти, а не на жесткий диск для ускорения доступа к временным файлам, а также настроил часовой пояс в моей системе, чтобы программы не пытались непрерывно загружать /etc /localtime файл.
Затем я использовал strace в программе, и когда у меня есть программа, которая автоматически выполняет правление платы, журнал выглядит следующим образом:
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A42.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A42.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A42.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A43.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A43.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A43.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A44.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A44.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A44.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A45.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A45.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A45.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A46.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A46.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A46.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A47.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A47.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A47.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A48.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A48.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A48.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A49.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A49.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A49.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A4A.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A4A.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A4A.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A4B.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A4B.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A4B.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A4C.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A4C.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A4C.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A4D.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
open("/tmp/e0000A4D.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
unlink("/tmp/e0000A4D.tmp") = 0
stat64("/tmp/", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0
access("/tmp/", R_OK|W_OK|X_OK) = 0
open("/tmp/e0000A4E.tmp", O_RDWR|O_CREAT|O_APPEND, 0666) = 8
и он продолжает повторяться, как это, за исключением того, что временное имя файла является возрастающим набором шестнадцатеричных чисел. Например: e0000A4E.tmp, e0000A4F.tmp e0000A50.tmp и т.д. Он продолжает создавать и удалять файл.
Есть ли способ через Linux (например, путем редактирования определенных файлов конфигурации?) что я могу направить эту программу для создания записей в памяти, а не во временных файлах?
Если это невозможно, то есть ли способ улучшить доступ к оперативному диску, чтобы эта программа могла работать быстрее?
В настоящее время у меня /dev /ram0 установлено значение /tmp, поскольку файловая система ext2, которую я читаю в сети, является самой быстрой (так как у меня нет ext4). но я не знаю, является ли это наиболее оптимальной системой для хранения временных файлов на оперативном диске.