PDA

View Full Version : The productivity falls stronly after few work hours


AndrewM
12-23-07, 08:33 AM
Through a 10-20 works hours the productivity of the graphic system falls stronly (depending on intensity of manipulation with windows).

Examle:
At the first start of the Xorg:

$ vmstat -m | grep nvidia
nvidia 823 3712K - 105299 16,32,64,128,256,512,1024,2048,4096

$ glxgears
29852 frames in 5.0 seconds = 5970.293 FPS
29936 frames in 5.0 seconds = 5987.193 FPS
29853 frames in 5.0 seconds = 5970.447 FPS

$ env __GL_YIELD="NOTHING" __GL_FSAA_MODE=0 \
__GL_SYNC_DISPLAY_DEVICE='DFP-0' __GL_SYNC_TO_VBLANK=1 \
compiz --replace ccp --loose-binding --ignore-desktop-hints

$ glxgears
6598 frames in 5.1 seconds = 1302.401 FPS
6309 frames in 5.0 seconds = 1261.758 FPS
6607 frames in 5.0 seconds = 1321.286 FPS

. . .

In a hour intensive work:

$ vmstat -m | grep nvidia
nvidia 8302 10231K - 2450095 16,32,64,128,256,512,1024,2048,4096

$ glxgears
4976 frames in 5.0 seconds = 994.781 FPS
5170 frames in 5.0 seconds = 1033.955 FPS
4806 frames in 5.0 seconds = 961.000 FPS
5656 frames in 5.0 seconds = 1131.097 FPS

After two-three hours a FPS is equal to 700, after several more hours a FPS is equal 500 and so on. During the day FPS goes down to 100-200 and at the end work becomes impossible. The restart of X doesn't solve the problem, only complete restart does.

it's possible to force this problem:
1. turn on "Wobbly Windows Plugin" in Compiz;
2. To load a processor on 100% (for example, by the program sysutils/cpuburn);
3. During few minutes windows must be in action and watch the glxgear utility


$ uname -rms
FreeBSD 6.2-STABLE i386

$ pkg_info -Ex xorg-server nvidia-driver compiz-0 kde-3
compiz-0.6.2
kde-3.5.8
nvidia-driver-100.14.23
xorg-server-1.4_3,1

$ dmesg | grep CPU
CPU: AMD Sempron(tm) Processor 2800+ (1760.18-MHz 686-class CPU)

$ sudo nvclock -i
-- General info --
Card: nVidia Geforce 7600GS
Architecture: NV4B B1
PCI id: 0x392
GPU clock: 480.000 MHz
Bustype: PCI-Express

-- Pipeline info --
Pixel units: 3x4 (011b)
Vertex units: 5x1 (11111b)
HW masked units: None
SW masked units: None

-- Memory info --
Amount: 256 MB
Type: 128 bit DDR
Clock: 796.500 MHz

-- PCI-Express info --
Current Rate: 16X
Maximum rate: 16X

-- Sensor info --
Sensor: GPU Internal Sensor
GPU temperature: 48C

-- VideoBios information --
Version: 05.73.22.50.00
Signon message: GeForce 7600 GS VGA BIOS
Performance level 0: gpu 400MHz/memory 800MHz/1.15V/100%
Performance level 1: gpu 400MHz/memory 800MHz/1.15V/100%
VID mask: 0
Voltage level 0: 1.15V, VID: 0

$ nvidia-settings -q ConnectedDisplays -q RefreshRate | grep Attribute
Attribute 'ConnectedDisplays' (inspirra.localdomain:0.0): 0x00010002.
Attribute 'RefreshRate' (inspirra.localdomain:0.0; display device: CRT-1): 75,00 Hz.
Attribute 'RefreshRate' (inspirra.localdomain:0.0; display device: DFP-0): 60,00 Hz.

zander
12-24-07, 12:49 PM
Please generate and attach an nvidia-bug-report.log file; when you say that the problem can be forced, do you mean that the symptoms can be replicated or that the system slows down permanently?

AndrewM
12-25-07, 03:54 AM
Starting Xorg+KDE+Compiz

$ env __GL_FSAA_MODE=0 \
__GL_SYNC_DISPLAY_DEVICE='DFP-0' \
__GL_SYNC_TO_VBLANK=1 \
compiz --replace ccp --ignore-desktop-hints --loose-binding 2>&1 &

$ nvidia-bug-report.sh
$ mv nvidia-bug-report.log 1-nvidia-bug-report.log

$ LANG=C ; (date ; vmstat -m | grep nvidia)
Tue Dec 25 06:16:47 MSK 2007
nvidia 816 3711K - 2232 16,32,64,128,256,512,1024,2048,4096

$ glxgears
6901 frames in 5.0 seconds = 1380.188 FPS
6969 frames in 5.0 seconds = 1393.605 FPS
6948 frames in 5.0 seconds = 1389.464 FPSRight after the system booting, all works well. But in course of time, the graphic system slows down.

The symptoms can be replicated:

It is possible to reproduce symptoms thus: it is necessary to activate "Water Effect" in Compiz on 30 minutes . After it, the graphic system does not restore the productivity


$ glxgears
6901 frames in 5.0 seconds = 1380.188 FPS
6969 frames in 5.0 seconds = 1393.605 FPS
6948 frames in 5.0 seconds = 1389.464 FPS

Turn on "Water Effect Plugin" in Compiz, and toggle "rain". (only for the repetition of the symptoms)

$ while sleep 30 ; do vmstat -m | grep nvidia ; done
nvidia 833 3713K - 77900 16,32,64,128,256,512,1024,2048,4096
nvidia 829 3712K - 77969 16,32,64,128,256,512,1024,2048,4096
nvidia 2291 4276K - 79812 16,32,64,128,256,512,1024,2048,4096
nvidia 4000 4329K - 81534 16,32,64,128,256,512,1024,2048,4096
nvidia 5521 4377K - 83095 16,32,64,128,256,512,1024,2048,4096
nvidia 7086 4426K - 84678 16,32,64,128,256,512,1024,2048,4096
nvidia 8674 4477K - 86506 16,32,64,128,256,512,1024,2048,4096
nvidia 9775 4511K - 88649 16,32,64,128,256,512,1024,2048,4096
<...>SKIP 44 LINES<...>
nvidia 78911 8793K - 169842 16,32,64,128,256,512,1024,2048,4096
nvidia 78748 6668K - 173264 16,32,64,128,256,512,1024,2048,4096
nvidia 78766 6670K - 173501 16,32,64,128,256,512,1024,2048,4096
nvidia 78767 6670K - 174111 16,32,64,128,256,512,1024,2048,4096

Turn off "Water Effect Plugin" in Compiz

$ glxgears
689 frames in 5.0 seconds = 137.793 FPS
835 frames in 5.0 seconds = 166.987 FPS
770 frames in 5.0 seconds = 153.459 FPS
771 frames in 5.0 seconds = 152.894 FPS

$ nvidia-bug-report.sh
mv nvidia-bug-report.log 2-nvidia-bug-report.log
Maybe, that it related to the option "--loose-binding". But without this option Compiz works very badly permanently.

AndrewM
01-12-08, 04:27 PM
An analogical situation takes a place when I use the google-earth program:

$ pkg_info -Ex google-earth
google-earth-4.2.205.5730

AndrewM
01-15-08, 04:41 PM
I've discovered that if "__GL_SYNC_TO_VBLANK=1" env variable is not used, there's no no memory leak; but it's still leaking when I use google-earth

AndrewM
03-07-08, 07:53 PM
There's no memory leak with a new 196.12 driver if the googleearth to use without Compiz.

But, there's memory leak if using:
# compiz (with General compiz option: sync_to_vblank=ture) & googleearth

And there's memory leak if using:
# mplayer -vo gl2 file.avi (with a variable: __GL_SYNC_TO_VBLANK=1 OR nvidia-setting Attribute: 'SyncToVBlank' is 1)

uOpt
03-07-08, 11:58 PM
Unloading and reloading the kernel module should make it work without a reboot. Still gotta nuke the X11 server, though.

AndrewM
03-08-08, 12:38 AM
Unloading and reloading the kernel module should make it work without a reboot. Still gotta nuke the X11 server, though.
The module unloads without problems if a memory leak did not happen. But it is impossible to unload the module when a memory leak happened...

1. I stop the Xorg, hal, dbus, etc...
2. $ kldunload nvidia
kldunload: can't unload file: Device busy

zebdits
03-08-08, 07:06 PM
1. I stop the Xorg, hal, dbus, etc...
2. $ kldunload nvidia
kldunload: can't unload file: Device busyDid you try this?fstat /dev/nvidia0

AndrewM
03-08-08, 08:06 PM
Did you try this?fstat /dev/nvidia0
Yes, sure.
After stop of the Xorg-server, this file (/dev/nvidia0) is not using by any process.
Nevertheless, unloading the module is impossible:$ fstat /dev/nvidia0
USER CMD PID FD MOUNT INUM MODE SZ|DV R/W NAME
===EMPTY===
$ kldunload nvidia
kldunload: can't unload file: Device busy

uOpt
03-10-08, 10:34 AM
Anything in /var/log/messages or dmesg about this?

AndrewM
03-25-08, 12:03 AM
Anything in /var/log/messages or dmesg about this?
$ newsyslog -F /var/log/messages
$ reboot
$ xinit
$ twm ; glxgears ....
I leave the Xorg: CTRL+D
$ kldunload nvidia
nvidia0: detached
$ kldload nvidia
nvidia0: <GeForce 7600 GS>......
nvidia0: [GIANT-LOCKED]
$ xinit
$ compiz --replace ccp --loose-binding ......
I leave the Xorg: CTRL+D
$ fstat /dev/nvidia0
USER CMD PID FD MOUNT INUM MODE SZ|DV R/W NAME
===EMPTY===
$ kldunload nvidia
kldunload: can't unload file: Device busy
$ nvidia-bug-report.sh
See attached log.

uOpt
03-25-08, 05:57 PM
I thing you forgot dmesg/messages.

AndrewM
03-25-08, 07:18 PM
I thing you forgot dmesg/messages.
dmesg is embedded in nvidia-bug-report.log.
messages file does not reflect the errors.