Výměna zdroje ve starším počítači



Zdravím všechny na poradně. Chtěl bych vyměnit zdroj ve starším počítači za účelem snížení hluku od ventilátoru - značka stávajícího zdroje COLORSIT ATX 12V P4 420W. V počítači je osazena základní deska MSI 945P Neo2-F (MS-7176). Grafická karta je AMD Radeon HD 5570, Typ CPU Intel Pentium 4 - 640, 3200 MHz. Systém Windows 7 Home 64-bit. Počítač byl pořízen někdy v roce 2007. Před krátkou dobou byl do počítače nainstalován nový SSD disk a počítač se několikanásobně zrychlil. Rád bych ho ještě nějakou dobu používal, ale hučení ventilátoru není příjemné. Navíc v poslední době při zapnutí počítače, se po stisknutí tlačítka nějakou dobu nic neděje a potom (po 10 -30s) se teprve rozsvítí kontrolky a počítač se sám spustí, najede normálně systém a vše funguje jak má. Údajně snad může být příčina ve zdroji. Můj dotaz je, zda lze z výše uvedeného popisu zdroje a základní desky poradit nějaký kvalitní a tichý zdroj, který by měl rovněž mimo jiné ATX12V 4-pinové konektory pro napojení CD mechaniky, zálohovací mechaniky SuperRack a potom je tam ještě i disketová mechanika. Jediné SATA zařízení v počítači je výše zmíněný SSD disk. Ještě jednou všechny zdravím a děkuji předem za každou reakci.
Pokud je potřeba šetřit, tak [https://www.tsbohemia.cz/eco-85-atx-400wa-12-80-85...](https://www.tsbohemia.cz/eco-85-atx-400wa-12-80-85-_d227834.html)  3xmolex, 2xSATAOsvědčená levná kvalita [https://www.tsbohemia.cz/energy-knight-seasonic-ss...](https://www.tsbohemia.cz/energy-knight-seasonic-ss-400et-t3-400w_d130512.html)  4xmolex, 3xSATADražší k tomu compu nemají smysl a levné jsou šmejdy.
<h2>poznámka před zahájením:</h2><p>tato funkce závisí na hardwaru i softwaru. pokud váš hardware nepodporuje řízení rychlosti ventilátoru nebo je nezobrazuje os, je velmi pravděpodobné, že toto řešení nelze použít. pokud ano, ale software (aka jádro) neví, jak jej ovládat, máte štěstí.</p><hr><ol> <li>nainstalujte balíčky <a href="https://apps.ubuntu.com/cat/applications/lm-sensors">lm-senzory</a> a <a href="https://apps.ubuntu.com/cat/applications/fancontrol">fancontrol</a> .</li> <li> <p>konfigurovat <strong> lm-senzory </strong></p> <ol> <li>v typu terminálu <code>sudo sensors-detect</code> a odpovězte ano na všechny ano/žádné otázky.<br> <em> (potenciálně to může poškodit váš systém nebo způsobit selhání systému. pro mnoho systémů je to bezpečné. neexistuje žádná záruka, že tento proces váš systém natrvalo nepoškodí, jen si myslím, že šance na takové kritické selhání je <strong> opravdu nízká </strong>. uložení veškeré práce pro případné havárie/zmrazení/restartování před zpracováním konfigurace systému je vždy dobrý nápad. nevíte si, přečtěte si komentáře a zkuste prohledat web a získat nějaký přehled na vysoké úrovni, než začnete vše, možná bude stačit selektivita u vašich ano-es)</em></li> <li>na konci detekce senzorů se zobrazí seznam modulů, které je třeba načíst. zadejte „ano“, aby senzory detekovaly vložení těchto modulů do/etc/modules nebo sami/editovali/etc/modules.</li> <li>spustit <code>sudo service module-init-tools restart</code>. tím se přečtou změny, které jste provedli v <code>/etc/modules</code> v kroku 3 a vložte nové moduly do jádra. <ul> <li><strong> poznámka </strong>: pokud používáte ubuntu 13.04 nebo vyšší, měl by být tento 3. krok nahrazen <code>sudo service kmod start</code>.</li> </ul> </li> </ol> </li> <li> <p>konfigurovat <strong> fancontrol </strong></p> <ol> <li>v typu terminálu <code>sudo pwmconfig</code>. tento skript zastaví každého fanouška po dobu 5 sekund, aby zjistil, které ventilátory lze ovládat pomocí pwm. po smyčce skriptu přes všechny ventilátory můžete nakonfigurovat, který ventilátor odpovídá které teplotě.</li> <li>budete muset určit, jaké senzory použít. to je trochu složitější. pokud máte jen jeden ventilátor, ujistěte se, že používáte jádro pro teplotní čidlo, abyste mohli založit rychlost řízení ventilátoru.</li> <li>proveďte výzvy a uložte změny do výchozího umístění.</li> <li>proveďte úpravy doladění <code>/etc/fancontrol</code> a použijte <code>sudo service fancontrol restart</code> pro uplatnění vašich změn. (v mém případě jsem nastavil interval na 2 sekundy.)</li> </ol> </li> <li> <p>nastavit <strong> službu fancontrol </strong></p> <ol> <li>spustit <code>sudo service fancontrol start</code>. tím se také automaticky spustí služba fancontrol při spuštění systému.</li> </ol> </li> </ol><p>v mém případě <code>/etc/fancontrol</code> pro cpu jsem použil:</p><p>nastavení pro hwmon0/device/pwm2:<br> (závisí na hwmon0/device/temp2\_input) (ovládá hwmon0/device/fan2\_input)</p><pre><code>interval=2 mintemp=40 maxtemp=60 minstart=150 minstop=0 minpwm=0 maxpwm=255 </code></pre><p>a na jiném systému je to:</p><pre><code>interval=10 devpath=hwmon1=devices/platform/coretemp.0 hwmon2=devices/platform/nct6775.2608 devname=hwmon1=coretemp hwmon2=nct6779 fctemps=hwmon2/pwm2=hwmon1/temp2\_input fcfans=hwmon2/pwm2=hwmon2/fan2\_input mintemp=hwmon2/pwm2=49 maxtemp=hwmon2/pwm2=83 minstart=hwmon2/pwm2=150 minstop=hwmon2/pwm2=15 minpwm=hwmon2/pwm2=14 maxpwm=hwmon2/pwm2=255 </code></pre><p> <a href="https://www.systutorials.com/docs/linux/man/8-fancontrol/">zde</a> je několik užitečných informací o nastaveních a o tom, co skutečně dělají</p> Použij nějaké "Live CD"

[o106.com/...](http://o106.com/odvirovani-pocitace-s-windows-bootovatelna-live-cd-s-antiviry/) <p>konečně dostali sluchátka do práce! postupujte podle toho  (dell)</p><p>to je ono :</p><p><br> spusťte do terminálu následující příkaz:</p><pre><code>gksudo gedit /etc/modprobe.d/alsa-base.conf </code></pre><p>přejděte dolů a přidejte tyto řádky na konec souboru:</p><pre><code># keep snd-pcsp from being loaded as first soundcard options snd-pcsp index=-2 alias snd-card-0 snd-hda-intel alias sound-slot-0 snd-hda-intel options snd-hda-intel model=dell-m6-amic </code></pre><p>poté uložte, restartujte a otestujte zvuk pomocí sluchátek a reproduktorů.</p> <p><strong> poznámka: </strong> <em>toto bylo testováno na notebooku s grafickou kartou řízenou i915.</em></p><hr><h3>pozadí</h3><p><strong> poznámka: </strong> když je připojena nová obrazovka, do hostitele není odeslána žádná událost, zůstane to pravda i po mé poslední úpravě. jediným způsobem je tedy použít dotazování. snažím se, aby byly co nejefektivnější ...</p><h3>úprava # 3</h3><p>nakonec existuje jedno lepší řešení (prostřednictvím acpi):</p><p>stále neexistuje žádná událost, ale acpi se zdá být efektivnější než <code>xrandr</code> na dotaz. (poznámka: toto <strong> vyžaduje </strong> načtené moduly jádra acpi, ale nevyžaduje oprávnění root.</p><p>moje konečné řešení (pomocí bash):</p><pre><code>isvgaconnected() { local crtstate read -a &lt; /proc/acpi/video/vid/crt0/state crtstate test $(( ( ${crtstate[1]} &gt;&gt;4 ) ${1:+*-1+1} )) -ne 0 } </code></pre><p>nyní test:</p><pre><code>$ if isvgaconnected; then echo yes; else echo no; fi yes </code></pre><p>je zapojen, takže ho nyní odpojím:</p><pre><code>$ if isvgaconnected; then echo yes; else echo no; fi no </code></pre><p><strong> poznámka: </strong> <code>${1:+*-1+1}</code> povolit argument <em>boolean</em>: pokud <em>něco je přítomno</em>, odpověď by byla obrácena: <code>( crtstate &gt;&gt; 4 ) * -1 + 1</code>.</p><p>a závěrečný skript:</p><pre><code>#!/bin/bash export crtprocentry=/proc/acpi/video/vid/crt0/state isvgaconnected() { local crtstate read -a &lt; $crtprocentry crtstate test $(( ( ${crtstate[1]} &gt;&gt;4 ) ${1:+*-1+1} )) -ne 0 } delay=.1 unset switch isvgaconnected || switch=not while :;do while isvgaconnected $switch;do sleep $delay done if [ "$switch" ];then unset switch echo vga is connected # doing something while vga is connected else switch=not echo vga is not connected. # doing something else, maybe. fi done </code></pre><p><strong> upozornění: </strong> <em>lehčí než <code>xrandr</code>, ale ne nevýznamné</em> se zpožděním menším než <em>,02</em> sekund, bash skript půjde na začátek procesu jedlíci zdrojů (<code>top</code>)!</p><p>i když to stojí ~ 0,001 s:</p><pre><code>$ time read -a &lt;/proc/stat crtstat </code></pre><p>vyžaduje to ~ 0,030 s:</p><pre><code>$ read -a &lt; /proc/acpi/video/vid/crt0/state crtstate </code></pre><p>to je velké! takže v závislosti na tom, co potřebujete, lze <code>delay</code> rozumně nastavit mezi <code>0.5</code> a <code>2</code>.</p><h3>úprava # 2</h3><p>nakonec jsem něco našel:</p><p><strong> důležité vyloučení odpovědnosti: </strong> hraní s <code>/proc</code> a <code>/sys</code> záznamy mohou poškodit váš systém !!! takže na produkčních systémech nezkoušejte následující.</p><pre><code>mapfile watchfilelist &lt; &lt;( find /sys /proc -type f 2&gt;/dev/null | grep -i acpi\\\|i91 ) prompt=("/" "|" '\' '-'); l=0 while :; do mapfile watchstat &lt; &lt;( grep -h . ${watchfilelist[@]} 2&gt;/dev/null ) for ((i=0;i&lt;=${#watchstat[@]};i++)); do [ "${watchstat[i]}" == "${oldstat[i]}" ] || echo ${watchstat[i]} done oldstat=("${watchstat[@]}") sleep .5 printf "\r%s\r" ${prompt[l++]} [ $l -eq 4 ]&amp;&amp;l=0 done </code></pre><p>... po očištění nežádoucích záznamů:</p><pre><code>for ((i=0;i&lt;=${#watchfilelist[@]};i++)); do [[ "${watchfilelist[$i]}" =~ /sys/firmware/acpi/interrupts/sci ]] &amp;&amp; unset watchfilelist[$i] &amp;&amp; echo $i done </code></pre><p>to jsem dokázal přečíst:</p><pre><code>/proc/acpi/video/vid/crt0/state:state: 0x1d /proc/acpi/video/vid/crt0/state:state: 0x0d /proc/acpi/video/vid/crt0/state:state: 0x1d </code></pre><p>když připojím, odpojte a znovu zapojte kabel monitoru.</p><p>při dotazu na konfiguraci (spuštění <code>system/preferences/monitor</code> nebo <code>xrandr</code>), grafické karty udělají typ <em>scan</em>, takže běží <code>xrandr -q</code> vám dá informace, ale musíte zjistit stav.</p><p>prohledal jsem všechny protokoly (jádro, démona, x atd.) prohledávajícím <code>/proc</code> &amp; <code>/sys</code> a zjevně se zdá, že neexistuje nic, co by vyhovovalo vaší žádosti.</p><p>zkusil jsem to také:</p><pre><code>export spc50="$(printf "%50s" "")" watch -n1 ' find /proc/acpi/video -type f | xargs grep -h . | sed "s/^\([^:]*):/\1'$spc50'}:/; s/^\(.\{50\}\) *:/\1 /"' </code></pre><p>po tom všem, když spustíte <code>system/preferences/monitor</code> zatímco nebyla připojena žádná nová obrazovka ani odpojena, bude se nástroj zobrazovat jednoduše (normálně). ale pokud jste již dříve připojili nebo odpojili obrazovku, občas spustíte tento nástroj a uvidíte, že na ploše vytvoříte typ <em>reset</em> ​​nebo <em>obnovit</em> ​​(stejný pokud spustíte <code>xrandr</code>).</p><p>zdá se, že to potvrzuje, že tento nástroj požádá o <code>xrandr</code> (nebo pracuje stejným způsobem) pravidelným dotazováním na stav, počínaje okamžikem jeho spuštění.</p><p>můžete vyzkoušet sami:</p><pre><code>$ for ((i=10;i--;)); do xrandr -q | grep ' connected' | wc -l; sleep 1; done 1 1 1 2 2 2 1 1 1 1 </code></pre><p>tím se na 10 sekund zobrazí počet připojených obrazovek (displejů).</p><p>zatímco to běží, připojte a/nebo odpojte obrazovku/monitor a podívejte se, co se děje. takže byste mohli vytvořit malou testovací funkci bash:</p><pre><code>isvgaconnected() { local xrandr=$(xrandr -q) [ "$xrandr" == "${xrandr#*vga1 con}" ] || return 0 return 1 } </code></pre><p>který by byl použitelný jako v:</p><pre><code>$ if isvgaconnected; then echo yes; fi </code></pre><p>ale buďte opatrní, <code>xrandr</code> trvá asi <strong> 0,140 s do 0.200 s </strong>, zatímco na zástrčkách nedojde k žádné změně a do <strong> 0,770 sekund </strong> kdykoli něco bylo připojeno nebo odpojeno těsně před (<strong> poznámka: </strong> zdá se, že to není zdrojový zdroj).</p><h3>úprava # 1</h3><p>abych zajistil, že neučím něco nesprávného, ​​prohledával jsem web a dokumenty, ale nenašel jsem nic o <em>dbus and screens</em>.</p><p>nakonec jsem běžel ve dvou různých oknech <code>dbus-monitor --system</code> (hrál jsem také s možnostmi) a malý skript, který jsem napsal:</p><pre><code>$ for ((i=1000;i--;)); do isvgaconnected &amp;&amp; echo yes || echo no; sleep .5; done </code></pre><p>... a znovu zapojen, než odpojen monitor, mnohokrát. takže teď mohu říci:</p><ul> <li><em>v této konfiguraci <strong> pomocí ovladače i915 </strong> neexistuje jiný způsob, než spustit <code>xrandr -q</code> vědět, zda je monitor připojen nebo ne.</em></li> </ul><p>ale buďte opatrní, protože se nejeví jiné způsoby. například se zdá, že <code>xrandr</code> tyto informace sdílí, takže moje plocha gnome by se automaticky přepnula na <code>xinerama</code> automaticky ... <strong>, když jsem běžel <code>xrandr</code> </strong>.</p><h3>některé dokumenty</h3><ul> <li> <a href="https://wiki.archlinux.org/index.php/xrandr#toggle\_external\_monitor">skript pro přepínání interního/externího displeje pro notebooky</a> </li> <li> <a href="http://www.x.org/docs/intel/hd/ihd\_os\_vol\_3\_part4\_bjs.pdf">®intel hd graphics opensource programmer's reference manual</a> </li> </ul> běžná závada grafiky (integrované) nebo základové desky - oprava dražší než koupě nového ... máte-li v záruce, reklamujte. Nemáte-li, vyjměte si HDD a prodejte na ND. <p><code>hi</code> je čas strávený přerušením zpracování hardwaru. hardwarová přerušení jsou generována hardwarovými zařízeními (síťové karty, řadič klávesnice, externí časovač, hardwarové senzory, ...), když potřebují něco signalizovat do procesoru (například data dorazila).</p><p>protože k tomu může dojít velmi často a protože v podstatě blokují aktuální cpu, zatímco jsou spuštěny, jsou popisovače hardwarového přerušení jádra psány tak rychle, jak je to jen možné.</p><p>pokud je třeba provést dlouhé nebo složité zpracování, jsou tyto úkoly odloženy pomocí mechanického volání <code>softirqs</code>. jsou naplánovány nezávisle, mohou běžet na jakémkoli cpu, mohou běžet souběžně (nic z toho neplatí pro popisovače přerušení hardwaru).</p><p><sub>část o tvrdých irq blokujících aktuální procesor a část o tom, že <code>softirqs</code> budou moci běžet kdekoli, nejsou úplně správné, mohou existovat omezení a některé tvrdé irq mohou přerušit jiné.</sub></p><p>jako příklad lze uvést, že hardwarové přerušení ze síťové karty „přijatá data“ by mohlo jednoduše uložit informace „karta ethx musí být obsluhována“ a naplánovat <code>softirq</code>. <code>softirq</code> by byla věc, která spouští skutečné směrování paketů.</p><p><code>si</code> představuje čas strávený v těchto <code>softirqs</code>.</p><p>dobré čtení o mechanismu <code>softirq</code> (s trochou historie) je také <a href="https://www.cs.unca.edu/brock/classes/spring2013/csci331/notes/paper-1130.pdf">dělám to později: softirqs, tasklets, dolní poloviny, fronty úkolů, pracovní fronty a časovače</a> = (pdf, 64 kb).</p><p><code>st</code>, „ukrást čas“, je relevantní pouze ve virtualizovaných prostředích. představuje čas, kdy skutečný procesor nebyl k dispozici aktuálnímu virtuálnímu počítači - byl „odcizen“ z toho vm) hypervizorem (buď pro spuštění jiného vm, nebo pro vlastní potřeby).</p><p>dokument <a href="https://www.ibm.com/developerworks/linux/linux390/perf/tuning\_cputimes.html">cpu time accounting</a> od ibm obsahuje více informací o krádeži času a účetnictví cpu ve virtualizovaných prostředích. (zaměřuje se na hardware typu zseries, ale obecná myšlenka je stejná pro většinu platforem.)</p> <p>můžete se podívat do <code>/sys/block</code>:</p><pre><code>-bash-3.2$ ls -ld /sys/block/sd*/device lrwxrwxrwx 1 root root 0 jun 8 21:09 /sys/block/sda/device -&gt; ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0 lrwxrwxrwx 1 root root 0 jun 8 21:10 /sys/block/sdb/device -&gt; ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0 lrwxrwxrwx 1 root root 0 jun 8 21:10 /sys/block/sdc/device -&gt; ../../devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0 lrwxrwxrwx 1 root root 0 jun 8 21:10 /sys/block/sdd/device -&gt; ../../devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0 </code></pre><p>nebo pokud nemáte <code>/sys</code>, můžete se podívat na <code>/proc/scsi/scsi</code>:</p><pre><code>-bash-3.2$ cat /proc/scsi/scsi attached devices: host: scsi0 channel: 00 id: 00 lun: 00 vendor: ata model: st31000340as rev: sd1a type: direct-access ansi scsi revision: 05 host: scsi1 channel: 00 id: 00 lun: 00 vendor: ata model: st31000340as rev: sd1a type: direct-access ansi scsi revision: 05 host: scsi2 channel: 00 id: 00 lun: 00 vendor: ata model: st31000340as rev: sd1a type: direct-access ansi scsi revision: 05 host: scsi3 channel: 00 id: 00 lun: 00 vendor: ata model: st31000340as rev: sd1a type: direct-access ansi scsi revision: 05 host: scsi4 channel: 00 id: 00 lun: 00 vendor: pepperc model: virtual disc 1 rev: 0.01 type: cd-rom ansi scsi revision: 03 </code></pre> Já bych to do celkové rekonstrukce zapojil postaru a modrý bych vynechal. Až po celkové výměně vedení k dalším zásuvkam bych přezapojil zásuvky a rozvodnici na novou soustavu TNC-S, samozřejmě včetně proudového chrániče. pokud se při výpočtu objeví následující chybová hláška: je třeba nainstalovat patch knihoven systému mfc8. link ke stažení: http://www.microsoft.com/downloads/details.aspx?familyid=766a6af7-ec73-40ff-b072-9112bab119c2&displaylang=en <p>můžete použít některou z těchto dvou jednoplášťových linek. oba přinášejí přesně stejný výkon na mém stroji a jsou přesnější než všechna dosud navrhovaná řešení (6. července 2014) v této otázce.</p><p><strong> pomocí <code>apt-mark</code>: </strong></p><pre><code>comm -23 &lt;(apt-mark showmanual | sort -u) &lt;(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^package: //p' | sort -u) </code></pre><p><strong> pomocí <code>aptitude</code>: </strong></p><pre><code>comm -23 &lt;(aptitude search '~i !~m' -f '%p' | sed "s/ *$//" | sort -u) &lt;(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^package: //p' | sort -u) </code></pre><p>jen velmi málo balíčků stále propadá trhlinami, ačkoliv mám podezření, že je uživatel skutečně nainstaloval <em> jsou</em>, a to buď hned po instalaci prostřednictvím nastavení lokalizace jazyka, nebo např. prostřednictvím instalátoru kodeků totem. také se zdá, že se hromadí i verze linuxových záhlaví, i když jsem nainstaloval pouze metapackage, který není specifický pro verzi. příklady:</p><pre><code>libreoffice-help-en-gb openoffice.org-hyphenation gstreamer0.10-fluendo-mp3 linux-headers-3.13.0-29 </code></pre><p><strong> jak to funguje: </strong></p><ol> <li>získejte seznam ručně nainstalovaných balíčků. pro aptitude další <code>sed</code> odstraní zbývající mezeru na konci řádku.</li> <li>seznam nainstalovaných balíčků získáte hned po nové instalaci.</li> <li>porovnejte soubory, vydejte pouze řádky v souboru 1, které nejsou v souboru 2.</li> </ol><p><strong> ostatní možnosti také nefungují: </strong></p><ul> <li>za použití <code>ubuntu-14.04-desktop-amd64.manifest</code> soubor ( <a href="http://releases.ubuntu.com/releases/trusty/ubuntu-14.04-desktop-amd64.manifest">zde</a> pro ubuntu 14.04) místo <code>/var/log/installer/initial-status.gz</code>. další balíčky jsou zobrazeny jako ručně nainstalované, i když nejsou.</li> <li>použitím <code>apt-mark showauto</code> namísto <code>/var/log/installer/initial-status.gz</code>. <code>apt-mark</code> například nezahrnuje balíček xserver-xorg, zatímco druhý soubor ano.</li> </ul><p>jako reference jsem použil různé další příspěvky stackexchange, žádné však nefungují a výše uvedené řešení:</p><ul> <li> <a href="https://unix.stackexchange.com/a/3624/49168">aptitude + manifest</a> </li> <li> <a href="https://unix.stackexchange.com/a/80520/49168">initial-status.gz + apt-mark showauto</a> </li> </ul><p>oba obsahují více balíčků než výše uvedené řešení.</p><p><strong> úprava: co dělat, pokud jste upgradovali z předchozí verze: </strong></p><p>pokud jste upgradovali ubuntu z jednoho vydání na další, budete pravděpodobně muset tento proces upravit. v takovém případě bych kromě souboru initial-status.gz z aktuální verze zkontroloval soubor manifestu novější verze (viz výše). můžete to snadno udělat pouhým přidáním dalšího srovnání. použití pouze souboru manifestu nebude fungovat, protože soubor manifestu bohužel neobsahuje vše, co soubor initial\_status.gz obsahuje (zaškrtl jsem).</p>