I am running Fedora 8 uname -r = 2.6.24.4-64.fc8 on my box with Wine 0.9.58. When I first installed it I noticed that my CPU usage jumped and stayed at 100% with wineserver taking > 85%. I killed the wineserver process and it dropped down, however it soon jumped back up when wineserver restarted itself. I then killed it again and all related processes and disabled it from starting as a damen at boot time. Is there anything that I should be looking for to fix this? Also is there any real advantage of running wineserver all the time as a damen? TIA Scott
On Mon, Apr 28, 2008 at 2:35 PM, Bad2theBone <wineforum-user at winehq.org> wrote:> I am running Fedora 8 uname -r = 2.6.24.4-64.fc8 on my box with Wine 0.9.58. > When I first installed it I noticed that my CPU usage jumped and > stayed at 100% with wineserver taking > 85%.I've seen that, too. If you use strace -p on it, what is it doing? Here's my report: http://winehq.org/pipermail/wine-devel/2008-April/064999.html> I killed the wineserver process and it dropped down, > however it soon jumped back up when wineserver restarted itself.Wineserver is started by wine whenever it's needed.> I then killed it again and all related processes and disabled > it from starting as a damen at boot time.AFAIK, it doesn't start at boot time; not sure what you're talking about. It can't, since it's a per-user daemon. - Dan
Dan Kegel wrote:> On Mon, Apr 28, 2008 at 2:35 PM, Bad2theBone > > I've seen that, too. If you use strace -p on it, what is it doing? > Here's my report: > http://winehq.org/pipermail/wine-devel/2008-April/064999.html > > It appears to do the same. I had installed IEs4Linux which apparently installs it's own copy of wine. I also have the system monitor applet on my top bar (gnome) and as soon as IE6 starts sysmon shows CPU time at 100%. My strace -p looked similar to yours but much longer. I also noticed that all processes remained active even though I closed IE. Doing a ps -ef shows the below statuses: > > scott 7037 1 0 20:39 ? 00:00:00 bash /home/scott/bin/ie6 > scott 7038 7037 25 20:39 ? 00:00:40 /home/scott/.ies4linux/ie6/drive_c/Program Files/Internet Explorer/IEXPLORE.EXE > scott 7039 7037 0 20:39 ? 00:00:00 bash /home/scott/bin/ie6 > scott 7042 1 53 20:39 ? 00:01:25 /usr/lib/../bin/wineserver > scott 7044 1 0 20:39 ? 00:00:00 C:\windows\system32\wineboot.exe --init > scott 7045 7044 0 20:39 ? 00:00:00 C:\windows\system32\winedevice.exe MountMgr > scott 7049 1 0 20:39 ? 00:00:00 C:\windows\system32\explorer.exe /desktop > > > AFAIK, it doesn't start at boot time; not sure what you're talking about. > It can't, since it's a per-user daemon. > - DanWhen I installed wine I found that it created a process damon in system services gui that was checked and was running. I did not actually check to see if it had setup to restart on reboot. I believe that in the GUI if the service is cheacked it will be auto started on boot.
I just tried running other M$ apps (MSOffice2K) and they seem to be fine, not CPU time eaters, only IE6. Isn't IEs4Linux just a script that installs different IE versions? In other words it won't make a difference if I manually install IE6 through the wine CLI or even IE7?
I figured I'd try dtrace for a change, since I have it here. Running it for
a few seconds results in this:
Code:
hyperborea:~ > pfexec dtrace -n 'pid712:::entry { @n[probefunc] =
count(); }'
dtrace: description 'pid712:::entry ' matched 6880 probes
^C
_bufsync 1
_dowrite 1
_flsbuf 1
_morecore 1
periodic_save 1
putc_unlocked 1
set_periodic_save_timer 1
__cerror 2
__fcntl_syscall 2
_brk_unlocked 2
_fflush_u 2
_findbuf 2
_findiop 2
_sbrk_unlocked 2
_setbufend 2
_setorientation 2
_wrtchk 2
abandon_mutexes 2
close_handle 2
debug_exit_thread 2
destroy_thread 2
fchdir 2
fclose 2
fcntl 2
fdopen 2
free_ptid 2
generate_debug_event 2
getpid 2
ioctl 2
isatty 2
isseekable 2
kill_console_processes 2
kill_thread 2
lmutex_lock 2
lmutex_unlock 2
lstat64 2
remove_process_thread 2
rename 2
req_close_handle 2
s_fcntl 2
save_all_subkeys 2
sbrk 2
strcpy 2
strrchr 2
save_branch 3
__open64_syscall 4
_private_open64 4
cleanup_clipboard_thread 4
cleanup_thread 4
close_thread_desktop 4
destroy_thread_windows 4
free_msg_queue 4
fstat64 4
get_process_winstation 4
open64 4
remove_thread_hooks 4
fd_destroy 6
clear_apc_queue 8
getiop 8
___errno 10
_aio_close 10
_private_close 10
close 10
expose_window 11
get_class_atom 11
rect_in_region 11
req_get_window_info 11
req_set_window_pos 11
union_region 11
xor_region 11
create_region_from_req_data 12
_xflsbuf 14
remove_timeout_user 16
free_async_queue 18
clip_children 22
get_ptid_entry 22
get_thread_from_id 22
req_get_thread_input 22
get_child_update_flags 23
link_timer 27
msg_queue_add_queue 27
msg_queue_remove_queue 27
msg_queue_satisfied 27
reset_event 27
set_event 27
timer_callback 27
find_window_to_repaint 33
get_desktop_window 33
subtract_non_overlapping 33
req_redraw_window 34
release_hook_chain 44
req_finish_hook_chain 44
req_get_hook_info 44
req_start_hook_chain 44
redraw_window 45
validate_whole_window 45
check_fd_events 54
msg_queue_signaled 54
set_next_timer 54
copy_region 56
wake_up 56
get_tick_count 60
subtract_overlapping 66
subtract_region 66
crop_region_to_win_rect 79
next_user_handle 80
make_clean 84
req_get_message 87
inc_queue_paint_count 90
thread_timeout 98
set_update_region 101
set_fd_events 108
req_get_window_children 110
set_reply_data_size 110
req_get_visible_region 111
get_update_flags 112
req_set_caret_info 112
req_select 123
req_get_update_region 124
end_wait 125
send_thread_wakeup 125
wake_thread 125
get_active_hooks 131
get_visible_region 133
add_timeout_user 140
check_wait 150
get_region_data_and_free 156
find_child_to_repaint 176
get_user_full_handle 199
req_get_window_property 200
get_queue_hooks 219
get_global_hooks 223
get_desktop_obj 256
get_thread_desktop 256
__writev 266
writev 266
free_region 301
is_visible 302
t_splay 359
create_empty_region 445
t_delete 457
intersect_overlapping 499
intersect_region 499
sprintf 525
coalesce_region 532
region_op 565
set_region_extents 577
set_region_client_rect 610
is_region_empty 643
req_set_window_info 682
set_region_rect 698
offset_region 889
_smalloc 1097
cleanfree 1345
get_user_object 1350
handle_to_entry 1437
realfree 1563
__write 1634
write 1634
is_hook_active 1683
call_req_handler 1761
read_request 1761
thread_poll_event 1763
mem_alloc 1852
memset 1862
__read 1907
read 1907
_malloc_unlocked 2002
malloc 2002
_free_unlocked 3529
free 3529
mutex_lock 5531
mutex_lock_impl 5531
mutex_unlock 5531
event_signaled 6144
add_queue 6171
remove_queue 6173
get_handle_obj 6431
get_handle 6433
save_subkeys 8488
dump_value 14151
fputc 28086
putc 28086
fprintf 32571
_realbufend 32588
getxfdat 32590
_ndoprnt 33096
dump_path 43652
memcpy 51934
dump_strW 64130
ferror 65667
fwrite 119223
_fwrite_unlocked 119224
__so_recvmsg 516960
_so_recvmsg 516960
kill_process 516960
receive_fd 516960
recvmsg 516960
gettimeofday 516961
process_poll_event 516961
__pollsys 517015
_pollsys 517015
poll 517015
__divdi3 517021
get_fd_user 518723
get_unix_fd 520753
grab_object 529576
release_object 529591