Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: SlaMina - 03.06.08 - klo:17.37
-
Aloin ihmettelemään ku ubuntu on alkanu tuntua nyt parin päivän päällä olon jälkeen tuntua vähän hitaalta. Katoin system monitorista niin näyttää siltä että swappia on jopa yli 80% käytössä(kts. liite) vaikka oikeestaan kone ei tee t
yhtään mitään. Myös prosessorin käyttö näyttää yllättävän korkealta.
Tässä on vielä ps -A:n tuloste josta pitäis näkyä jos on jotain swapia käyttäviä prosesseja päällä
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:01:29 ksoftirqd/0
5 ? 00:00:00 watchdog/0
6 ? 00:00:00 migration/1
7 ? 00:00:31 ksoftirqd/1
8 ? 00:00:00 watchdog/1
9 ? 00:00:06 events/0
10 ? 00:00:03 events/1
11 ? 00:00:00 khelper
44 ? 00:00:10 kblockd/0
45 ? 00:00:03 kblockd/1
48 ? 00:00:00 kacpid
49 ? 00:00:00 kacpi_notify
133 ? 00:00:00 kseriod
182 ? 00:01:17 kswapd0
225 ? 00:00:00 aio/0
226 ? 00:00:00 aio/1
1447 ? 00:00:00 ksuspend_usbd
1450 ? 00:00:00 khubd
1520 ? 00:00:35 ata/0
1532 ? 00:00:10 ata/1
1540 ? 00:00:00 ata_aux
1891 ? 00:16:25 npviewer.bin
2299 ? 00:00:00 scsi_eh_0
2300 ? 00:00:00 scsi_eh_1
2313 ? 00:00:00 scsi_eh_2
2314 ? 00:00:00 scsi_eh_3
2362 ? 00:00:00 scsi_eh_4
2363 ? 00:00:00 scsi_eh_5
2410 ? 00:01:13 scsi_eh_6
2411 ? 00:00:00 scsi_eh_7
2430 ? 00:00:00 scsi_eh_8
2431 ? 00:00:11 usb-storage
2640 ? 00:00:09 kjournald
2838 ? 00:00:00 udevd
3150 ? 00:00:00 kpsmoused
4774 ? 00:01:19 kjournald
4775 ? 00:00:07 kjournald
5017 ? 00:02:01 ruby
5034 ? 00:11:35 firefox
5059 tty4 00:00:00 getty
5060 tty5 00:00:00 getty
5064 tty2 00:00:00 getty
5065 tty3 00:00:00 getty
5066 tty6 00:00:00 getty
5127 ? 00:00:53 kondemand/0
5128 ? 00:01:08 kondemand/1
5214 ? 00:00:00 syslogd
5268 ? 00:00:00 dd
5270 ? 00:00:00 klogd
5292 ? 00:00:11 dbus-daemon
5308 ? 00:00:00 NetworkManager
5322 ? 00:00:00 NetworkManagerD
5335 ? 00:00:00 system-tools-ba
5355 ? 00:00:00 avahi-daemon
5356 ? 00:00:00 avahi-daemon
5416 ? 00:00:27 dhcdbd
5435 ? 00:00:09 hald
5438 ? 00:00:00 console-kit-dae
5500 ? 00:00:00 hald-runner
5522 ? 00:00:00 hald-addon-cpuf
5523 ? 00:00:06 hald-addon-acpi
5524 ? 00:00:04 hald-addon-inpu
5542 ? 00:01:22 hald-addon-stor
5608 ? 00:00:00 gdm
5622 ? 00:00:00 dhclient
5662 ? 00:00:00 atd
5676 ? 00:00:00 cron
5758 tty1 00:00:00 getty
5846 ? 00:00:37 gconfd-2
5908 ? 00:00:00 dbus-daemon
6018 ? 00:00:00 gvfsd-burn
6024 ? 00:00:00 gvfsd-trash
7208 ? 00:00:00 gdm
7217 tty7 08:51:55 Xorg
7240 ? 00:00:00 gnome-keyring-d
7241 ? 00:00:01 x-session-manag
7294 ? 00:00:00 seahorse-agent
7302 ? 00:00:21 dbus-daemon
7303 ? 00:01:56 gnome-settings-
7327 ? 00:09:19 gnome-screensav
7330 ? 00:22:09 gnome-panel
7342 ? 00:00:00 bonobo-activati
7395 ? 00:00:10 update-notifier
7406 ? 00:00:10 gnome-volume-ma
7408 ? 00:00:02 xbindkeys
7410 ? 00:00:00 gvfsd-burn
7413 ? 00:00:01 mixer_applet2
7417 ? 00:00:00 gvfsd-trash
7434 ? 00:00:00 sh
7435 ? 00:04:24 emerald
7437 ? 00:30:52 GP5.exe
7440 ? 00:05:17 wineserver
7443 ? 00:00:00 services.exe
7447 ? 00:00:00 winedevice.exe
7454 ? 00:00:00 explorer.exe
7499 ? 00:19:10 pidgin
7722 ? 00:00:00 mount.ntfs-3g
7938 ? 00:00:00 gnome-vfs-daemo
8190 ? 03:29:11 java
18209 ? 00:00:03 image23.JPG-www
18214 ? 00:00:00 winudspm.exe
18571 ? 00:00:00 compiz
18616 ? 06:34:34 compiz.real
19054 ? 01:14:34 amarokapp
19057 ? 00:00:00 kdeinit
19060 ? 00:00:00 dcopserver
19063 ? 00:00:00 klauncher
19065 ? 00:00:20 kded
19074 ? 00:00:00 kio_file
19080 ? 00:00:00 ruby
23980 ? 00:00:00 gvfsd
23986 ? 00:00:00 gvfs-fuse-daemo
24562 ? 00:00:19 konversation
24566 ? 00:00:00 knotify
24965 ? 00:09:30 totem-plugin-vi
25169 ? 00:02:32 nautilus
27648 ? 00:39:09 npviewer.bin
28348 ? 00:00:00 gvfsd-http
29683 ? 00:00:00 pdflush
29688 ? 00:00:00 pdflush
29875 ? 00:01:05 notification-da
30255 ? 00:00:06 gnome-power-man
30347 ? 00:00:31 gnome-system-mo
30564 ? 00:00:00 gnome-terminal
30567 ? 00:00:00 gnome-pty-helpe
30568 pts/0 00:00:00 bash
30589 pts/0 00:00:00 ps
30943 ? 00:07:57 cpufreqd
E: No nyt ku itekki tutkin tota nii noita winen prosesseja oli jääny aika paljo päälle, mutta ku otin neki pois päältä niin swapin käyttö on vieläki yli 60%
[ylläpito on poistanut liitteen]
-
Aloin ihmettelemään ku ubuntu on alkanu tuntua nyt parin päivän päällä olon jälkeen tuntua vähän hitaalta. Katoin system monitorista niin näyttää siltä että swappia on jopa yli 80% käytössä(kts. liite) vaikka oikeestaan kone ei tee yhtään mitään. Myös prosessorin käyttö näyttää yllättävän korkealta.
prosessorin käyttöaste voi näyttää korkealta, koska uusi system monitor vie naurettavan paljon prosessoriaikaa. siitä ei pidä tässä yhteydessä huolestua. tuo swappaaminen onkin sitten jo toinen juttu.
Tässä on vielä ps -A:n tuloste josta pitäis näkyä jos on jotain swapia käyttäviä prosesseja päällä
mikään softa ei varsinaisesti käytä swappia aktiivisesti, vaan käyttöjärjestelmä hoitaa muistinhallinnan ja siirtää vähemmän tärkeää kamaa swappiin jos keskusmuisti ei tunnu riittävän. ohjelmat ainoastaan pyytävät muistiä käyttöjärjestelmältä.
mitä sinun kannattaisi tehdä, on sulkea system monitor ja ajaa terminaalissa komento top. kun top on käynnissä, paina näppäuintä M jolloin prosessit listataan muistinkäytön mukaisessa järjestyksessä. siitä voi alkaa ihmettelemään kuka sitä muistia rohmuaa. oletuksena järjestys taitaa olla prosessorinkäytön mukaan, mutta jos haluat vaihtaa takaisin siihen, niin näppäin P auttaa. molemmat siis isoja kirjaimia.
-
Tossa on tuo topinki tuloste. Eikai tossakaan pitäis mitään kauheita muistisyöppöjä olla mitkä aiheuttais noin pahaa swappaamista ???
top - 20:55:22 up 7 days, 10:14, 2 users, load average: 0.08, 0.41, 0.52
Tasks: 119 total, 3 running, 115 sleeping, 0 stopped, 1 zombie
Cpu(s): 9.7%us, 2.4%sy, 0.0%ni, 87.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1027904k total, 1017296k used, 10608k free, 15692k buffers
Swap: 996020k total, 585728k used, 410292k free, 150552k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8190 miro 20 0 2195m 207m 12m S 1 20.6 214:40.91 java
5034 miro 20 0 1104m 168m 23m S 2 16.8 13:24.22 firefox
7217 root 20 0 241m 96m 8892 S 3 9.6 540:21.32 Xorg
19054 miro 20 0 671m 74m 13m S 3 7.5 82:00.76 amarokapp
25169 miro 20 0 653m 55m 18m S 0 5.5 2:33.26 nautilus
7499 miro 20 0 1167m 39m 14m S 1 3.9 19:53.42 pidgin
7330 miro 20 0 902m 32m 11m S 0 3.2 22:33.10 gnome-panel
18616 miro 20 0 323m 32m 12m S 8 3.2 406:56.63 compiz.real
24562 miro 20 0 261m 29m 12m S 0 2.9 0:31.41 konversation
24965 miro 20 0 594m 27m 13m S 5 2.8 20:13.33 totem-plugin-vi
7435 miro 20 0 352m 26m 6676 S 0 2.6 4:27.24 emerald
2306 miro 20 0 348m 24m 11m R 0 2.4 0:00.96 gnome-terminal
7303 miro 20 0 516m 13m 8420 S 0 1.3 1:58.65 gnome-settings-
7413 miro 20 0 330m 10m 7400 S 0 1.1 0:01.58 mixer_applet2
7395 miro 20 0 310m 10m 7636 S 0 1.0 0:10.82 update-notifier
29875 miro 20 0 339m 9148 6952 S 0 0.9 1:06.76 notification-da
24566 miro 20 0 182m 7072 5696 S 0 0.7 0:00.66 knotify
-
Eikai tossakaan pitäis mitään kauheita muistisyöppöjä olla mitkä aiheuttais noin pahaa swappaamista ???
Ei oikeasti, mutta pahimmat muistisyöpöt kyllä merkittävän osansa lohkaiset. Mitähän mahdat oikein tehdä?
top - 20:55:22 up 7 days, 10:14, 2 users, load average: 0.08, 0.41, 0.52
Tasks: 119 total, 3 running, 115 sleeping, 0 stopped, 1 zombie
Cpu(s): 9.7%us, 2.4%sy, 0.0%ni, 87.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1027904k total, 1017296k used, 10608k free, 15692k buffers
Swap: 996020k total, 585728k used, 410292k free, 150552k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8190 miro 20 0 2195m 207m 12m S 1 20.6 214:40.91 java
5034 miro 20 0 1104m 168m 23m S 2 16.8 13:24.22 firefox
7217 root 20 0 241m 96m 8892 S 3 9.6 540:21.32 Xorg
19054 miro 20 0 671m 74m 13m S 3 7.5 82:00.76 amarokapp
25169 miro 20 0 653m 55m 18m S 0 5.5 2:33.26 nautilus
7499 miro 20 0 1167m 39m 14m S 1 3.9 19:53.42 pidgin
7330 miro 20 0 902m 32m 11m S 0 3.2 22:33.10 gnome-panel
18616 miro 20 0 323m 32m 12m S 8 3.2 406:56.63 compiz.real
Olisikohan tuo compiz mitään?
Ihan vain vertailun vuoksi:
Tasks: 79 total, 2 running, 76 sleeping, 0 stopped, 1 zombie
Cpu(s): 2.4%us, 0.8%sy, 0.0%ni, 96.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1035268k total, 441352k used, 593916k free, 60888k buffers
Swap: 1004052k total, 0k used, 1004052k free, 186480k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2854 juyli 20 0 170m 95m 15m S 1.2 9.5 0:51.97 opera
1629 root 20 0 111m 24m 7828 S 5.2 2.4 0:55.84 X
1723 juyli 20 0 26444 16m 8608 R 0.2 1.6 0:01.90 Terminal
1716 juyli 20 0 54696 13m 8564 S 0.2 1.3 0:00.83 xfdesktop
3062 juyli 39 19 65552 12m 8128 S 0.0 1.3 0:03.05 operapluginwrap
1721 juyli 20 0 18964 11m 6932 S 0.2 1.2 0:01.03 xfce4-panel
...
-
Mitähän mahdat oikein tehdä?
Tollon ku otin nuo kone ei tehny oikeestaan mitään. Azureus lataa taustalla josta johtuu tuo javan kulutus, firefox on päällä neljällä välilehdellä ja siinäpä ne oikeestaan. Amarok. konversation ja pidgin on kans päällä mutta niissä ei oo oikeen mitään toimintaa. Kyllä luulis gigan muistin ja intelin c2d e6300 prossun riittävän noitten pyörittämiseen, mutta siltiki kone tahmailee kummallisesti melko useastikki.
-
64-bittinen vai 32-bittinen.
64-bittinen java sai minulta monoa. Käytössä ia-32 java. Eron lievästi sanoen huomaa. ProjectX:n (javalla toimiva) nopeus 10 kertaistui. Että niin Sun.
-
64-bittinen on.
-
Onkohan tuo ihan normaalia ku käynnistin äsken koneen uudestaan ja heti ku gnome oli latautunu katoin free komennolla ja topilla nii swappia oli käytössä noin 200mb. Ku esim juylilla näytti olevan tossa swappia käytössä 0k vaikka oli ohjelmiaki päällä.
-
top:llahan pääsee katsomaan myös swapatun tiedon määrän ohjelmittain tämä onnistuu kun painat topista f, minkä jälkeen tulet näkymään, jossa on kaikki mahdolliset tulostevaihtoehdot lueteltuina kun nyt painat p, joka tarkoittaa swapin käyttö, tulee se näkyviin sarakenäkymään (siihen topin oletusnäkymään). Saat järjestettyä prosessit sitten swapin käytön mukaan painamalla P siinä oletusnäkymässä.
Itse en tosin saanut tuosta mitään järkevää irti, kun en saa tätä konetta swappaamaan. ;)
-
Mullaki kyllä nyt uuden kernelin myötä loppu tuo swappaaminen.
E: Eipäs loppunukkaan, nyt sitä on taas noin 200megaa käytössä.
Tämmöseltä näyttää swapin osalta top
top - 15:30:43 up 4:58, 2 users, load average: 0.20, 0.10, 0.10
Tasks: 114 total, 1 running, 113 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.7%us, 1.4%sy, 0.0%ni, 93.4%id, 0.0%wa, 0.0%hi, 0.5%si, 0.0%st
Mem: 1027904k total, 1018008k used, 9896k free, 27528k buffers
Swap: 996020k total, 23064k used, 972956k free, 371180k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP COMMAND
6059 miro 20 0 298m 68m 16m S 6 6.8 14:37.54 229m compiz.real
9394 miro 20 0 67600 11m 7224 S 5 1.2 0:06.81 54m npviewer.bin
5628 root 20 0 169m 56m 11m S 3 5.7 17:33.71 112m Xorg
6473 miro 20 0 554m 88m 31m S 3 8.8 7:11.59 465m amarokapp
9364 miro 20 0 587m 80m 23m S 2 8.0 0:06.29 506m firefox
1 root 20 0 4020 884 600 S 0 0.1 0:00.92 3136 init
-
Onkos sinulla minkä verran karkkia käytössä tuolla compizilla, se kun näyttää ainakin erottuvan tuolta joukosta. Voisi myös sopia compiz syypääksi, jos kone kerran vetää muistin täyteen jo X:n käynnistyesssä. Näyttää tuo amarok olevan myös melkoinen muistisyöppö (tai sinulla on iiso soittolista / mediakirjasto).
itselläni näyttää tällä hetkellä tältä:
top - 20:59:34 up 1:04, 3 users, load average: 0.57, 0.47, 0.34
Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie
Cpu(s): 18.3%us, 3.3%sy, 0.0%ni, 78.1%id, 0.0%wa, 0.3%hi, 0.0%si, 0.0%st
Mem: 2066272k total, 1336400k used, 729872k free, 86988k buffers
Swap: 6048432k total, 0k used, 6048432k free, 571848k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP COMMAND
10827 pellervo 20 0 203m 75m 24m S 17 3.7 1:10.45 127m firefox
5793 root 20 0 430m 107m 11m S 11 5.3 1:58.99 323m Xorg
6154 pellervo 20 0 30692 6280 3600 S 4 0.3 2:47.85 23m pulseaudio
6857 pellervo 20 0 150m 63m 19m S 4 3.2 3:03.55 86m exaile
6880 pellervo 20 0 206m 64m 16m S 4 3.2 0:20.84 142m opera
6250 pellervo 20 0 21844 14m 5852 S 1 0.7 0:14.90 7284 compiz.real
6393 pellervo 20 0 21812 12m 7528 S 1 0.6 0:02.06 9472 gtk-window-dec
8120 pellervo 20 0 85340 20m 11m S 1 1.0 0:02.62 62m gnome-terminal
1 root 20 0 2844 1692 544 S 0 0.1 0:02.32 1152 init
En ole saanut tuota compizia tuon 7 m:n yli swappaamaan, vaikka olen tehnyt mitä, mutta käytän kyllä hyvin maltillisesti noita efektejä.
Pakko oli pistää ff päälle, että sain muistia kulumaan, mutta ei tuo vieläkään swappaamaan lähde, pitäisi varmaan avata gradu openofficeen. :D
Jos kone vain swappaisi, niin suosittelisin tutustumaan swappiness asetukseen, mutta nythän sinulla on se tilanne, että joku syö muistisi täyteen ja kone alkaa sen vuoksi swappaamaan.
-
jos minä nyt yrittäisin vielä kerran selittää...
ohjelmat eivät käytä swappia suoraan. ohjelmat eivät sanoa käyttöjärjestelmälle, että annappa minulle nyt iso pala sitä hitaampaa muistia. ohjelman pyytävät käyttöjärjestelmältä keskusmuistia ja sitä ne myös kuvittelevat saavansa. se minkä ohjelman tavaraa on eniten swapissa on aivan yhdentekevää, käyttöjärjstelmä laittaa jonkun logiikan mukaan swappiin tavaraa jota se ei oleta käytettävän aivan heti, jolloin oikeasti muistia sillä hetkellä tarvitsevat sovellukset pyörisivät kivasti.
jos siis kone käyttää merkittävästi swappia, niin se johtuu siitä, että koneen keskusmuisti on lopussa. tämä puolestaan tarkoittaa sitä, että syyllistä pitää etsiä niiden ohjelmien joukosta jotka käyttävät eniten keskusmuistia. tuossa topissa se siis tarkoittaa musitinkulutuksen mukaan järjestämistä ja saraketta RES.
-
No mutta vaikka noita raskaimpien ohjelmien muistinkulutusta laskee yhteen tosta, nii ei siitä tuu lähellekkään gigaa mitä mulla on keskusmuistia. Mihin sitte se reilu 300mb muistia menee? Ja luulis gigan muistia muutenki riittävän ku se windowsillaki riittää tekemään kaikki samat asiat, paitsi compiz tietysti.
E: Ja muistupa mieleen että tää kyllä swappas aikasemminki ku käytin pelkkää openboxia. Ja siinäkään ei ollu ku suunnilleen amarok ja firefox päällä nii swappia oli käytössä suunnilleen 100mb.
-
Miksi tuo VIRT sarake näyttää javalla ja firefoxilla niin paljon RES saraketta isompia lukuja? Seuraava linkki voisi auttaa selittämään sitä. Ei tosin minulle.
http://gentoo-wiki.com/FAQ_Linux_Memory_Management#The_difference_among_VIRT.2C_RES.2C_and_SHR_in_top_output
Jos koneesi on ollut pari päivää päällä, voisi epäillä muistivuotoja eniten muistia vievissä ohjelmissa. Firefoxin tai azureuksen käynnistäminen uudestaan voisi auttaa selvittämään vievätkö ne tolkuttomasti muistia.
-
No mielestäni tuossa alkuperäisessä listauksessa on kyllä jo melko jäätävä määrä kaikkea tauhkaa käynnissä. Wine ja sen prosesseja liuta, sekalainen määrä Gnomen ja KDE:n ohjelmia (lisää muuten muistinkäyttöä aika kivasti), pidgin ja konversation?? jne.
Tietysti noihin vielä mahdollinen firefox versio jossa on muistivuoto ja tuo azureus on kyllä viimeinen ohjelma minkä itse valitsisin javan takia.
-
No joo nyt viimestään loppu swapin käyttö ku laskin swappinesia ja muutenki poistelin vähän turhia prosesseja.
-
Miksi tuo VIRT sarake näyttää javalla ja firefoxilla niin paljon RES saraketta isompia lukuja? Seuraava linkki voisi auttaa selittämään sitä. Ei tosin minulle.
VIRT sarake laskee mukaa kaikki prosessilla auki olevat tiedostot ja esim. X:llä näytönohjaimen muistin (muistaakseni vieläpä kahdesti, en vaan muista miksi). selaimella on varsinkin usean sivun auki ollessa julmettu määrä temppitiedostoja avoinna, vaikka ne eivät varsinaisesti käytössä olisikaan javalla jotakuinkin sama tilanne, joskin tiedostot eivät ole cachetusta varten. tuossa nyt sattuu olemaan käytössä javaa käyttävä bittorrent-client joka sekin avaa lukuisia eri tiedostoja lataamista ja jakamista varten ja koska se käyttää javaa...
-
Entäs onko tuo ominaisuus vai vika ku tuo swap ei palaudu ollenkaan. Eli siis jos laittaa paljo ohjelmia päälle että kone alkaa swappaamaan ja sitte ku sammuttaa ne ohjelmat nii swapin käyttö pysyy suunnilleen samana.
-
Entäs onko tuo ominaisuus vai vika ku tuo swap ei palaudu ollenkaan. Eli siis jos laittaa paljo ohjelmia päälle että kone alkaa swappaamaan ja sitte ku sammuttaa ne ohjelmat nii swapin käyttö pysyy suunnilleen samana.
Ominaisuus. Swappiin survotaan data jota harvemmin tarvitaan. Eikä sitä sen enempää tarvita vaikka muistia olisi vapaanakin.
-
Elikkä siis jos top näyttää että swappia on vaikka 2000k käytössä, nii eikö sillon tietokone swappaakkaan ton edestä. Tai mitenhän sen selittäis. Että tuo ei näytä sitä kuinka paljo tällä hetkellä tietokone swappaa
-
Kyllä se top ihan oikein näyttää. Swapatun datan määrä vähenee sitten kun sitä dataa siirretään muistin puolelle, tahi kyseisen datan omistava prosessi suljetaan.
-
Tossahan just sanoin että jos laittaa paljon ohjelmia päälle jonka myötä kone alkaa swappaamaan. Ja sillon top näyttää jotain tiettyä swapin kulutusta. Sitte ku sulkee ne kaikki ohjelmat nii se topin näyttämä swapin kulutus on samaa luokkaa.
-
Swapatun datan määrä vähenee sitten kun sitä dataa siirretään muistin puolelle, tahi kyseisen datan omistava prosessi suljetaan.
Eli ei swapissa olevaa dataa siirretä pois sieltä heti kun muistia vapautuu, vaan vasta sitten jos/kun sitä tarvitaan.
-
Okei, kiitos selvennyksestä. Nyt luulisin ymmärtäneeni ton toimintaperiaatten.