Temat: Zmiana priorytetu samby
Witam,
Czy wiecie w jaki sposób zwiększyć priorytet Samby na openwrt? Posiadam Openwrt z eko.one.pl 43.25-r27837 na tplink 1043 i domyślnie jest ustawiony najniższy priorytet 
Uploaded with ImageShack.us
Pozdrawiam,
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → Zmiana priorytetu samby
Zaloguj się lub zarejestruj by napisać odpowiedź
Witam,
Czy wiecie w jaki sposób zwiększyć priorytet Samby na openwrt? Posiadam Openwrt z eko.one.pl 43.25-r27837 na tplink 1043 i domyślnie jest ustawiony najniższy priorytet 
Uploaded with ImageShack.us
Pozdrawiam,
Czy wiecie w jaki sposób zwiększyć priorytet Samby na openwrt? Posiadam Openwrt z eko.one.pl 43.25-r27837 na tplink 1043 i domyślnie jest ustawiony najniższy priorytet
W pliku konfiguracyjnym nie widzę żadnej opcji, ale jak uruchamiam sambę poprzez /etc/init.d/samba start to proces smbd automatycznie otrzymuje najniższy priorytet, co powoduje u mnie problemy ze steamowaniem seriali poprzez sambę. Próbowałem znaleźć pakiet renice dla openwrt, ale nie mogę znaleźć. Zabijam proces smbd i uruchamiam nice --20 /etc/init.d/samba start to tylko proces nmbd uruchamia się z pożądanym priorytetem. Proszę o podpowiedź gdzie jeszcze mogę szukać?
Raczej w /etc/init.d/samba zmień sobie uruchamiania na odpowiednim poziomie, a nie uruchamiasz nice przed skryptem.
Nie chce działać na procesie smbd. Czy w taki sposób miałem poprawić?
#!/bin/sh /etc/rc.common
# Copyright (C) 2008-2010 OpenWrt.org
START=60
smb_header() {
local name
local workgroup
local description
local homes
config_get name $1 name
config_get workgroup $1 workgroup
config_get description $1 description
config_get homes $1 homes
[ -z "$name" ] && name=openwrt
[ -z "$workgroup" ] && workgroup=openwrt
[ -z "$description" ] && description=openwrt
cp /etc/samba/smb.conf.template /tmp/smb.conf
[ -L /etc/samba/smb.conf ] || ln -nsf /tmp/smb.conf /etc/samba/smb.conf
sed -i "s/|NAME|/$name/g" /tmp/smb.conf
sed -i "s/|WORKGROUP|/$workgroup/g" /tmp/smb.conf
sed -i "s/|DESCRIPTION|/$description/g" /tmp/smb.conf
[ "$homes" == "1" ] && {
echo -e "\n[homes]\n\tcomment = Home Directories\n\tbrowseable = no\n\tread only = no\n\tcreate mode = 0750" >> /tmp/smb.conf
}
}
smb_add_share() {
local name
local path
local users
local read_only
local guest_ok
local create_mask
local dir_mask
config_get name $1 name
config_get path $1 path
config_get users $1 users
config_get read_only $1 read_only
config_get guest_ok $1 guest_ok
config_get create_mask $1 create_mask
config_get dir_mask $1 dir_mask
[ -z "$name" -o -z "$path" ] && return
echo -e "\n[$name]\n\tpath = $path" >> /tmp/smb.conf
[ -n "$users" ] && echo -e "\tvalid users = $users" >> /tmp/smb.conf
[ -n "$read_only" ] && echo -e "\tread only = $read_only" >> /tmp/smb.conf
[ -n "$guest_ok" ] && echo -e "\tguest ok = $guest_ok" >> /tmp/smb.conf
[ -n "$create_mask" ] && echo -e "\tcreate mask = $create_mask" >> /tmp/smb.conf
[ -n "$dir_mask" ] && echo -e "\tdirectory mask = $dir_mask" >> /tmp/smb.conf
}
start() {
config_load samba
config_foreach smb_header samba
config_foreach smb_add_share sambashare
nice -n -20 smbd -D
nmbd -D
}
stop() {
killall smbd
killall nmbd
}
PS. Najważniejsze dla mnie byłoby to, aby znaleźć wpis obniżający priorytet procesu smbd.
Własnie w ten sposób powinno działać. A W drugą stronę, nice -n 18 smbd -D działa?
Niestety cały czas proces smbd ma w htop w polu NI czerwoną wartość 19 (nieważne co w nice wpisuje). Jakby był odporny na wszystkie wywołania. Nie wiem co mogłem namieszać i od jak dawna mam taką sytuację.
Czyli domyślnie na czystym obrazie u Ciebie samba ma standardowy priorytet, a nie obniżony na najniższy?
19 u mnie się uruchamia. PS. htopem możesz zmienić.
Szkoda, że z polecenia nice nie działa, ale zadziałało htopem:)
Znowu bardzo Tobie dziękuję:)
Zobaczę, czy teraz będą seriale lepiej działały:)
Pozdrawiam,
A ja nawet wiem dlaczego. Sprawdziłem w źródłach - w wersji łatek AVM (czyli tej stosowanej w openwrt) jest w kodzie na stałe ustawiane po uruchamianiu na 19 (pewnie żeby routera nie obciążać), więc dlatego pewnie nice przed smbd nie działa. Musisz po uruchomieniu.
Czyli można liczyć, że niedługo włączysz renice do obrazu z lini poleceń? Czy da się zmienić priorytet w już uruchomionym procesie z linii poleceń bez polecenie renice?
Nie, nie mam takich planów. Ale napisałem Ci renice...
cd /usr/bin
wget http://ecco.selfip.net/test/renice
chmod 755 renice
wywołanie to rencie priorytet pid
pid sobie z ps weźmiesz. helpa nie ma (nie chce mi się).
PID to pewnie najelpeij z pgrep zadnych smieci nie bedzie i od razy gotowy do uzyca
root@OpenWrt:~$ pgrep smbd
1335
Wszystko jedno. PID ma być po prostu ![]()
Twój renice działa rewelacyjnie. Później pomyślę jak to zautomatyzować i wrzucić do /etc/init.d/samba i żebym miał domyślny priorytet w sambie też po restarcie routera.
Wczoraj też testowałem NMT (Networked Media Tank) na sambie i wyszło, że rwanie seriali, szarpanie muzyki to właśnie powodował ustawiony priorytet na smbd, bo podczas testów działało wszystko bez najmniejszej pauzy.
Panowie, dziękuję!
znalazłeś jakieś rozwiązanie dla zautomatyzowania tego ?? ten problem występuje także u mnie
Chodzi Ci o renice? Uruchom to po prostu.
No tak uruchamiam i działa, tylko że trzeba to robić po każdym restarcie routera lub usługi. Chyba że czegoś nie doczytałem lub nie zrozumiałem
Tak własnie renice działa - masz to uruchomić na określonego działającego procesu, wiec musisz sobie dodać to np. do skryptów samby.
ale po każdym uruchomieniu samby sa inne pidy, a ja nie wiem jak to obejsc
pidof smbd
wpisuje do /etc/init.d/samba pod koniec startu linie: renice 0 pidof smbd a po restarcie samby ciagle 19
Złe polecenie. Wpisałeś to w ogóle w konsoli żeby zobaczyć czy działa?
renice 0 $(pidof smbd)Wpisywałem, coś wyskakiwało ale htop nie pokazywał zmian. Wybacz ale linuxa ucze się dopiero od 2 miesięcy i to bardzo opornie. Dziękuje za pomoc.
P.S. Gdyby ktoś miał ten problem to radzę nie przesadzać z wysokością priorytetu. Przy -20 router się moze restartować, u mnie na 0 chodzi bez problemów z wlączonym transmission i oglądanym serialem przez sieć
@Cezary
Ścieżka do renice nie działa:
cd /usr/bin
wget http://ecco.selfip.net/test/renice
chmod 755 reniceCzy może w AA renice jest dostępny z jakiegoś pakietu?
Tyle jesteś na forum i jeszcze nie doczytałeś że od kilku ładnych miesięcy nie ma ecco.selfip.net bo został zastąpiony przez dl.eko.one.pl?
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → Zmiana priorytetu samby
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc